環境
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,則對請求有如下要求
- 請求行(request line)的大小不能超過8k,否則返回414錯誤
- 每一個請求頭(request header)的大小不能超過8k,否則返回400錯誤
- (請求行+請求體)的大小不能超過32k(4 * 8k)
源碼及流程圖
git tag:
release-1.17.2
核心代碼文件所在路徑: src/http/ngx_http_request.c
參考資料
- 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