nginx配置參數解釋:client_header_buffer_size、large_client_header_buffers

環境

nginx/1.17.2


client_header_buffer_size

Syntax: client_header_buffer_size size;
Default: client_header_buffer_size 1k;
Context: http, server

如果配置爲client_header_buffer_size 1k,且(請求頭+請求行)的大小如果超過這個大小,則以large_client_header_buffers配置爲準

large_client_header_buffers

Syntax: large_client_header_buffers number size;
Default: large_client_header_buffers 4 8k;
Context: http, server

如果配置爲large_client_header_buffers 4 8k,則對請求有如下要求

  1. 請求行(request line)的大小不能超過8k,否則返回414錯誤
  2. 每一個請求頭(request header)的大小不能超過8k,否則返回400錯誤
  3. (請求行+請求體)的大小不能超過32k(4 * 8k)

源碼及流程圖

git tag: release-1.17.2

核心代碼文件所在路徑: src/http/ngx_http_request.c
nginx處理請求頭和請求行流程

參考資料

  • Nginx 源碼學習(一) nginx的跟蹤與調試 https://blog.csdn.net/daniel_ustc/article/details/10282103
  • gdb基本命令(非常詳細) https://blog.csdn.net/q1449516487/article/details/95331292
  • Nginx的client_header_buffer_size和large_client_header_buffers學習 https://www.jianshu.com/p/20a687873bf0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章