CDN回源502 Bad Gateway?cdn回源502 bad gateway,已解决
这个报错信息虽然简短,但背后可能的原因有好几种。
502的本质是Nginx作为反向代理,向后端PHP-FPM发请求,后端没有正常响应。先查PHP-FPM是否在运行,执行systemctl status php-fpm看状态是不是active running。没运行就启动,启动失败看报错,通常是配置文件语法错或端口被占用。
第二步查Nginx错误日志。日志在/var/log/nginx/error.log,看502发生时的报错。常见的有connect() failed说明PHP-FPM没启动或端口不对,upstream timed out说明PHP执行超时,Connection reset by peer说明PHP-FPM进程崩溃。
第三步根据原因处理。PHP-FPM没启动就检查配置文件php-fpm.conf,确认listen端口和Nginx里的fastcgi_pass一致。超时就把Nginx的fastcgi_read_timeout和PHP的max_execution_time都调大。进程崩溃通常是内存不足或代码有死循环,升级内存或优化代码。
Docker环境502通常是容器间网络问题。确认PHP容器和Nginx容器在同一个网络,Nginx配置里fastcgi_pass填PHP容器的服务名和端口,比如fastcgi_pass php:9000。容器重启后IP可能变化,用Docker Compose的服务名代替IP更稳定。
临时应急可以写个监控脚本,检测到PHP-FPM挂了自动重启,减少宕机时间。但这只是治标,频繁502说明有根本问题,要么资源不够要么代码有bug,要找到根因彻底解决。生产环境建议配监控告警,502错误率超过阈值立即通知。
按这个顺序走一遍,问题基本都能解决。

更新时间:2026-08-30 16:46:38