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容器方能生效。

 

posted @ 2020-08-27 11:00  wangt1  阅读(211)  评论(0编辑  收藏  举报