不同于404、503、504这些明确错误,502错误感觉真心是最难查的,原因五花八门。
最初始的502,就是nginx与程序通讯问题,这种一般是nginx配置问题。只在刚开始环境搭建的情况下会出现,或者是如php-fpm这种程序停止运行。但是更多的却是日常运行过程中出现的匪夷所思的502。
其他的502错误基本上就是,程序抛出一些Nginx无法理解的错误就是502,原因各种各样
下面说说我遇到的一些502:
1、正式环境登录成功后,偶然性502,这个问题查了很久。最终发现是因为设置cookie的方法不小心被多次调用,后面实验证明set-cookie超过十几个在我们公司的运行环境就会报502,所以一次性set-cookie千万注意数量,和处理好循环调用
2、公司测试环境,PHP 运行 curl,请求一个https地址直接502。这个功能原先是好的,突然后面变成502。cli命令行模式运行同样代码功能正常,查了很久没找到原因,后面重启php-fpm就好了。这个502错误,目前仍未想通是为什么。
谈谈我对502问题查找的一些心得。因为502错误基本上在web端是看不到啥有用的信息的,纯靠猜,所以,我们可以先用cli命令行模式去看下,程序是不是有啥坑。这种方法能发现大部分502问题,当然像上面set-cookie这种数量过多问题无法发现。