502 几乎总是“节点到源站这一跳”出了问题。先测端口和放行,再谈应用层。
502 在 CDN 场景里,优先理解成:边缘节点已经接到用户请求,但回源没有拿到合法响应。
------------------------------------------------
一、先核对回源三件套
------------------------------------------------
1. 回源地址:IP 或源站域名,必须指向真实 Web 服务,不是面板端口、不是 SSH 端口。
2. 回源协议:
- 选 HTTP,则源站对应端口(常见 80)必须通。
- 选 HTTPS,则源站 443(或自定义端口)必须通,且证书/握手不能直接把节点打挂。
3. 回源端口:非标准端口(8080/8443/自定义)必须在 CDN 回源配置和源站监听上完全一致。
OECDN 回源支持直接填 IP(例如 198.200.39.84),不必写成奇怪的 URL 包装;但填了 IP 不等于端口和协议自动正确。
------------------------------------------------
二、高频根因
------------------------------------------------
1. 源站防火墙 / 安全组 / 宝塔 / CSF / fail2ban 拦截了节点 IP。
表现:你本机可以打开源站,CDN 访问 502;源站 access 里没有用户,或只有部分地区节点。
2. 源站只放行了旧节点,新扩容节点未加白。
3. 源站只监听 127.0.0.1,未监听公网网卡。
4. 回源超时:源站 Trojans 慢、数据库锁、PHP-FPM 堵死,节点等不到响应。
5. 源站对没有“真实站点 Host”的请求直接拒绝(多站点/裸 IP 访问未配默认站)。
------------------------------------------------
三、实操验证
------------------------------------------------
1. 在任意测试机:curl -v --resolve 业务域名:443:源站IP https://业务域名/ 或对 HTTP 端口做同样测试。
2. 从节点机 curl 源站 IP:端口,确认不是“只有你电脑能通”。
3. 源站临时放行全部节点 IP 段后再测;若立即恢复,就是防火墙问题。
4. 查看 CDN 回源失败计数与节点日志时间点,是否和源站重启/改安全组重合。
------------------------------------------------
四、处理建议
------------------------------------------------
- 生产环境应固定:放行全部当前节点出口 IP,并在“添加/删除节点”后同步更新放行列表。
- 回源超时不要无脑加到最大;先修源站性能,再在 30–120s 合理区间调整。
- 源站若强制 HTTPS,回源协议也要匹配,否则会出现 502 或二次跳转异常。
502 没修好之前,不要先升级防护等级,那只会增加干扰变量。