502 错误(Bad Gateway)是一个常见的 HTTP 错误码,它的意思是:
🔧 网关或代理服务器从上游服务器收到无效响应。
也就是说,请求经过了一层“中间服务器”(比如 CDN、反向代理、负载均衡器),但这层服务器在向源站请求时出错,于是返回了 502。
✅ 常见出现 502 报错的几种情况:
1. 源站服务器宕机或无响应
Web 服务器(如 Nginx、Apache、Tomcat)崩溃或未启动
应用服务(如 Node.js、Java、PHP-FPM)卡死或超时
🔧 解决方法:
检查源站是否在运行:可以直接访问源站 IP 和端口测试。
查看源站日志(如 Nginx、后端应用日志)有没有报错。
2. CDN / 反代配置错误
反向代理设置错误,比如端口写错、协议配置不对(http ↔ https)
目标地址不可达(内网地址、DNS 错误等)
🔧 示例(Nginx 错误配置):
3. 后端响应时间太长导致超时
后端程序处理慢,请求没有及时返回
中间代理设定了响应时间上限(如 Nginx proxy_read_timeout)
🔧 解决方法:
优化后端程序逻辑
增加反代的超时时间配置
4. 负载均衡后端健康检查失败
某些负载均衡服务会将 502 作为“某个后端节点不可用”的反馈
5. CDN 平台故障
有时并非你的服务器出错,而是 CDN 本身的某个边缘节点出了问题。
🔧 可用方式:
刷新 CDN 缓存
更换节点(某些 CDN 支持)
使用 curl 测试不同地区访问是否都 502
📌 开发中如何排查 502 错误:
排查点说明访问源站 IP 和端口确保源站能正常响应查看 CDN/代理日志看是否是上游无响应或配置错误查看 Web 服务器日志检查 Nginx/Apache 的错误日志检查程序日志是否是接口处理慢、挂死、抛异常curl 加 -v 参数查看完整请求响应链路和 header
📘 502 常见于:
Nginx、Apache 作反向代理时
使用 CDN(如 Cloudflare、云湾CDN、百度云加速)中转请求
API 网关、服务网格架构
多服务架构(微服务之间调用)