nginx如何处理request body参数配置


这篇文章主要介绍nginx如何处理request body参数配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通常情况下,nginx与客户端是公网连接,nginx与上游服务是内网连接,内网带宽远远高于公网带宽。 nginx对request body的处理默认是先接受完所有的数据,再转发到上游服务。在ngx_http_core_module搜索body,有如下配置:client_body_buffer_size:设置用于读取客户端请求正文的缓冲区大小。 如果请求主体大于缓冲区,则将整个主体或仅将其一部分写入临时文件。 默认情况下,缓冲区大小等于两个内存页。 在x86,其他32位平台和x86-64上为8K。 在其他64位平台上,通常为16K。如果request body的大小小于此值,则只分配所需大小。如果大于此值,则会申请这里定义的内存大小,并且复用这块内存,直至接收body完毕。Kong代理客户端请求使用nginx默认值,可通过环境变量修改KONG_CLIENT_BODY_BUFFER_SIZE=20m.Kong的admin api默认是10m。需要注意的是,理论上此值较小,只是读写硬盘次数增加,影响上传速度,不会产生错误。但是日志出现nginx Connection reset by peer上传失败错误,原因可能是上游服务处理过程太慢,导致前端nginx超时断开连接。client_body_timeout定义读取客户端请求正文的超时。 仅在两次连续读取操作之间的一段时间内设置超时,而不是为整个请求主体的传输设置超时。 如果客户端在此时间内未传输任何内容,则请求将终止并显示408(请求超时)错误。client_max_body_size设置客户端请求正文的最大允许大小,在“ Content-Length”请求标头字段中指定。 如果请求中的大小超过配置的值,则会向客户端返回413(请求实体太大)错误。 请注意,浏览器无法正确显示此错误。 将size设置为0将禁用对客户端请求主体大小的检查。k8s ingress设置,增加注解:nginx.ingress.kubernetes.io/proxy-body-size: 100m。Kon 香港云主机g默认值是0,即无限制。client_body_in_file_onlyclient_body_in_single_bufferclient_body_temp_path以上是“nginx如何处理request body参数配置”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注开发云行业资讯频道!

相关推荐: docker中怎么搭建一个本地kafka服务

这篇文章给大家介绍docker中怎么搭建一个本地kafka服务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在本地利用docker搭建一个kafka的单实例服务, 方便本地的测试/开发dockerdocker-composewurstme…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/22 13:39
下一篇 08/22 13:40

相关推荐