高防 IP 配置 HTTPS 证书后出现 502 报错怎么排查?

文章导读
高防 IP 接入 HTTPS 后报 502,多半是回源链路被源站防火墙拦截,或者 SSL 证书配置与源站不匹配,优先检查源站是否放行了高防回源 IP 段。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
A A

高防 IP 接入 HTTPS 后报 502,多半是回源链路被源站防火墙拦截,或者 SSL 证书配置与源站不匹配,优先检查源站是否放行了高防回源 IP 段。

先说结论:配置 HTTPS 后出现 502 通常是高防节点与源站之间的通信受阻,而非证书本身损坏,需按链路顺序排查。

  • 先确认:源站服务是否存活,通过 hosts 绑定源站 IP 直连测试。
  • 先处理:在源站防火墙和安全组中放行高防回源 IP 段。
  • 再验证:检查高防控制台证书配置与源站端口协议是否一致。

命令速用版

在本地或跳板机上执行以下命令,快速判断故障点:

1. 绕过高防直接测试源站(替换为实际源站 IP):

curl -kv https://源站 IP:443 -H "Host: 你的域名"

2. 测试高防回源连通性(替换为高防 IP):

curl -kv https://高防 IP:443 -H "Host: 你的域名"

3. 验证 SSL 证书握手(替代 telnet):

openssl s_client -connect 源站 IP:443 -servername 你的域名

若输出末尾显示 Verify return code: 0 (OK),说明证书握手正常;若卡在 handshake 或报错,说明证书或端口配置有问题。

高防 IP 配置 HTTPS 证书后出现 502 报错怎么排查?

为什么会这样

502 Bad Gateway 意味着网关(高防 IP)收到了上游(源站)的无效响应。在 HTTPS 场景下,常见原因有三点:

第一,回源 IP 被拦截。高防回源时使用固定的 IP 段,如果源站防火墙未放行,会直接拒绝连接或重置,导致高防无法获取响应。

第二,协议或端口不匹配。高防配置了 HTTPS 回源,但源站只开了 HTTP 80 端口,或者证书域名不匹配,导致握手失败。

第三,源站负载过高。源站处理不过来请求,超时未响应,高防等待超时后返回 502。

分步处理

第一步:验证源站自身状态

修改本地 hosts 文件,将域名指向源站 IP,直接访问。如果直连也报错或超时,说明问题在源站本身(服务挂了、防火墙拦截了所有外网、资源耗尽)。此时需检查源站 Web 服务(Nginx/Apache)是否运行,CPU/内存是否满载。

第二步:检查回源 IP 白名单与安全组

高防 IP 配置 HTTPS 证书后出现 502 报错怎么排查?

登录高防控制台,找到「回源 IP 段」信息。登录源站服务器,检查安全组、iptables 或主机安全软件(如安全狗、宝塔防火墙),确保高防回源 IP 段已被加入白名单。

主流云平台安全组配置指引:

  • 阿里云/腾讯云:进入实例详情 -> 安全组 -> 配置规则 -> 入方向。
  • 放行策略:协议选择 TCP,端口范围 443,授权对象填写高防回源 IP 段(或临时测试 0.0.0.0/0 排除防火墙问题)。

第三步:核对 HTTPS 配置

在高防控制台检查回源协议设置。如果高防配置为「HTTPS 回源」,源站必须配置有效的 SSL 证书且监听 443 端口。

源站 Nginx HTTPS 配置检查 snippet:

server {
    listen 443 ssl;
    server_name 你的域名;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    # 确保此处未限制只允许特定 IP,除非已放行高防 IP
}

确保高防绑定的域名与证书 CN 名称一致。

高防 IP 配置 HTTPS 证书后出现 502 报错怎么排查?

怎么验证是否生效

1. 浏览器访问:清除浏览器缓存后访问域名,观察是否仍报 502。

2. curl verbose 模式:使用 curl -kv 命令,观察 SSL 握手阶段是否成功。如果卡在 handshake 阶段,通常是证书或端口问题;如果直接 Connection refused,通常是防火墙拦截。

3. 查看高防日志:部分高防控制台提供访问日志,查看回源状态码。如果回源状态码为 502/504,说明源站确实返回了异常。

常见坑

1. 源站 IP 暴露:如果源站 IP 未被隐藏,攻击者可能绕过 高防直接攻击源站,导致源站瘫痪从而引发 502。建议配置源站只允许高防 IP 访问。

2. 证书过期:高防节点上的证书过期会导致握手失败,进而引发 502 或 SSL 错误,需定期检查证书有效期。

3. 健康检查配置过严:高防的健康检查频率过高或超时时间过短,可能误判源站异常而切断流量,适当放宽健康检查阈值。