502 Bad Gateway

代理缓冲区设置过小

如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502。

  (已解决),方法1:
server {
listen 80;
server_name *.lxy.me;

location / {

###############添加这3行
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
###############添加这3行
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

未尝试,方法2:

fastcgi缓冲区设置过小

出现错误,首先要查找nginx的日志文件

查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。


http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
...
}

修改完nginx文件记得重启docker容器方能生效。

原文地址:https://www.cnblogs.com/St123456/p/13570204.html