什么是502 Bad Gateway?
502错误其实就是Nginx作为反向代理服务器,没从后端服务器(比如PHP-FPM、Node.js、Tomcat等)拿到有效响应。打个比方,咱一家电子外贸企业的官网,Nginx像前台接待,后端服务是仓库,502就是前台问仓库货物情况,仓库不给回应,客户只能等着。

502 Bad Gateway常见排查步骤
1. 检查后端服务是否正常运行
502最常见原因就是后端服务挂了。比如机械设备外贸网站,后台用PHP-FPM处理订单,PHP-FPM崩了,Nginx那边就报502。
- 用
ps aux | grep php-fpm看服务进程有没有挂。 - 或者用
systemctl status php-fpm查看状态。 - Node.js或其他服务,确保它们在监听对应端口。
2. 确认Nginx配置中的后端地址正确
配置文件里,Nginx怎么找后端服务很关键。举个家具外贸网站,配置写成了127.0.0.2:9000,而实际后端在127.0.0.1:9000,就会502。
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
...
}
确认端口和IP没写错。
3. 查看后端服务日志
化工原料外贸系统遇到502,后台日志显示“连接超时”或“内存溢出”,说明服务压力大或者配置不合理。看看日志是最快的线索。
4. 调整超时和缓冲区设置
当订单量激增,玩具外贸网站PHP-FPM响应慢,Nginx默认超时短,502就来了。可以调大超时:
proxy_read_timeout 60s;
fastcgi_read_timeout 60s;
还有buffer大小也能影响。
5. 确认防火墙和网络连接正常
很多时候,电子元器件外贸网站服务器防火墙把后端端口屏蔽了,导致Nginx连不上。用 telnet 127.0.0.1 9000 测试端口通不通。
Q&A:502错误怎么快速定位?
Q: 502错误是不是后端挂了?
A: 很大概率是。但也可能是配置错了或者超时太短。先看后端进程,再看配置。
Q: 我改了配置,Nginx要重启吗?
A: 改完用 nginx -t 检查配置没错,再用 nginx -s reload 平滑重载。
Q: 后端服务日志在哪看?
A: PHP-FPM一般在 /var/log/php-fpm/error.log,Node.js看你启动日志文件或控制台输出,记得先确认路径。
总结
502 Bad Gateway其实没那么可怕。记住,先看后端服务状态,再核对Nginx配置,顺带关注超时和防火墙。就像服装外贸网站,后台订单处理链路只要通了,502就能迎刃而解。