|
|

需求:通过 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 介绍
|