本文主要介绍nginx如何处理请求体参数的配置。文章很详细,有一定的参考价值。感兴趣的朋友一定要看完!
通常nginx通过公网与客户端连接,nginx通过内网与上游业务连接,内网的带宽远高于公网。默认情况下,nginx对请求体的处理是在将数据转发给上游服务之前接受所有数据。
在ngx_http_core_module中搜索正文,配置如下:
client_body_buffer_size:
语法: client _ body _ buffer _ sizesize;
default : client _ body _ buffer _ size8k | 16k;
上下文: http,服务器,位置设置读取客户端请求正文的缓冲区大小。如果请求正文大于缓冲区,则将整个正文或其中的一部分写入临时文件。默认情况下,缓冲区大小等于两个内存页面。x86、其他32位平台和x86-64上的8K。在其他64位平台上,通常是16K。
如果请求正文的大小小于该值,将只分配所需的大小。如果大于该值,它将应用这里定义的内存大小,并重用该内存,直到接收到正文。
孔的代理客户端请求使用nginx的默认值,可以通过环境变量Kong _ client _ body _ buffer _ size=20m进行修改。孔的管理api默认值为10m。
需要注意的是,理论上这个值比较小,但是硬盘读写次数增加,影响上传速度,不会造成错误。但是,日志无法上载对等方重置的nginx连接。原因可能是上游服务进程太慢,导致前端nginx超时断开。
客户端_正文_超时
语法Syntax:client _ body _ timeouttime
default : client _ body _ time out 60s;
上下文: http,服务器,位置定义了读取客户端请求文本的超时。仅在两次连续读取操作之间的一段时间内设置超时,而不是为整个请求正文的传输设置超时。如果客户端在此时间内没有传输任何内容,请求将被终止,并将显示408(请求超时)错误。
客户端_最大_正文_大小
语法Syntax:client _ max _ body _ sizesize
default : client _ max _ body _ size1m;
上下文: http,服务器,位置设置客户端请求正文的最大允许大小,在“内容长度”请求头字段中指定。如果请求中的大小超过配置值,将向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将大小设置为0将禁用检查客户端请求正文的大小。
K8s入口设置,增加备注:nginx.ingress.kubernetes.io/proxy-body-size: 100米。
孔默认值为0,即无限制。
仅客户端_正文_in_file
客户端_正文_in_single_buffer
client_body_temp_path
以上就是文章“nginx如何处理请求体参数的配置”的全部内容。感谢您的阅读!希望分享的内容对大家有所帮助。更多相关知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/108904.html