架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 23|回复: 0

[Web] 关于 nginx 502 upstream sent too big header 问题排查

[复制链接]
发表于 6 小时前 | 显示全部楼层 |阅读模式
需求:通过 nginx 反向代理到网站的时候,偶发性报 502 错误,一直因为是后端挂掉了,或者网络波动导致,最后查看 nginx 错误日志才发现是其他原因。

造成 nginx 502 错误的原因其实有很多,502 Bad Gateway 服务器之间发生了错误,充当代理或网关时,您的服务器在尝试处理请求时未收到上游服务器的正确响应。

nginx error 日志:

*753983 upstream sent too big header while reading response header from upstream, client: xxx, server: test-sso.rms-cloud.com, request: "GET /itsvse HTTP/2.0", upstream: "http://127.0.0.1:29090/itsvse", host: "xxx.com"

解决方案:

nginx 添加如下配置:
配置说明:

proxy_buffer_size

Syntax:        proxy_buffer_size size;
Default:       
proxy_buffer_size 4k|8k;
Context:        http, server, location

设置用于读取从代理服务器接收到的响应的第一部分的缓冲区大小。这部分通常包含一个小的响应头;如果超过缓冲区大小,则认为响应无效。默认情况下,缓冲区大小等于一个内存页。这是4K或8K,具体取决于平台。然而,它可以做得更小。

proxy_buffers

Syntax:        proxy_buffers number size;
Default:       
proxy_buffers 8 4k|8k;
Context:        http, server, location

为单个连接设置用于从代理服务器读取响应的缓冲区的数量和大小。默认情况下,缓冲区大小等于一个内存页。这是4K或8K,具体取决于平台。

proxy_busy_buffers_size

Syntax:        proxy_busy_buffers_size size;
Default:       
proxy_busy_buffers_size 8k|16k;
Context:        http, server, location

当启用来自代理服务器的响应缓冲时,会限制在响应尚未完全读取时可能忙于向客户端发送响应的缓冲区的总大小。与此同时,其余的缓冲区可用于读取响应,并在需要时将部分响应缓冲到临时文件中。默认情况下,大小受proxy_buffer_size和proxy_bBuffers指令设置的两个缓冲区的大小限制。




上一篇:网络通信 eSIM、EID、eUICC 介绍
下一篇:Consul 报错:TooManyRequests: Your IP is issuing too many concurrent...
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-17 16:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表