502 bad gateway报错可能的原因之一

记录一次状态码502 Bad gateway

第一次遇到请求返回502状态码

之前遇到的基本都是500(服务器内部错误),比如java代码运行时,被throw出来的错误。这种错误,打个断点就很好排查。

解决过程

疯狂网上找资料。网上有一些说法是,当使用Nginx代理时,发生了502报错,很有可能是请求头header过大而导致的。所以,在Nginx配置内添加一下增加缓存的的代码就能解决

proxy_buffer_size 64k;
proxy_buffers   4 32k;
proxy_busy_buffers_size 64k  //好像建议是proxy_buffer_size的两倍 ,所以128k可能更好

但本人试了后,发现并没有解决我的问题。然后,我打开了Nginx目录下,找log文件夹下的error.log文件,发现并没有一下报错【upstream sent too big header while reading response header from upstream】。
难怪上面的方法没用。。。。。

最后,有人提醒我,是不是在存在循环引用的问题,导致代码一直在死循环!!!!!
结果就是,由于死循环导致内存溢出(或者说栈溢出),导致服务器崩了,但是不知道为啥服务器上没有报错信息,只是崩了。而且一直循环,导致请求无响应,所以在客户端会接受到502报错。(502一般就是由于请求超时引起的)

猜你喜欢

转载自blog.csdn.net/XIAOLONGJUANFENG/article/details/107168924