环境
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