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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章