问题描述

在配置阿里云DDoS高防后,访问网站时提示502报错。

问题原因

在DDoS高防作为代理服务器尝试执行请求时,从上游服务器收到了无效的响应,导致发生502错误。因此,说明DDoS高防服务和源站之间的连接存在问题。在完成网站业务切换后,网站的正常访问流量经过DDoS高防实例清洗,并由DDoS高防回源IP地址转发至源站服务器。因此,如果DDoS高防的回源地址不在源站防火墙的白名单中,访问流量可能被错误拦截,导致网站无法访问。根据分析可知,发生报错的可能原因如下:

解决方案

DDoS高防回源IP被源站拦截或限速

只要在源站放行所有的DDoS高防的回源IP,即可解决出现的502错误。设置放行DDoS高防回源IP的方法有以下两种:
  • 请参见放行DDoS高防回源IP,获取DDoS高防的回源IP网段,并在您源站的防火墙、主机安全防护软件(如安全狗)中将回源IP网段添加到白名单。
    说明 为网站启用DDoS高防服务时,为了避免DDoS高防的回源流量被源站服务器上的安全软件误拦截,建议您设置放行DDoS高防回源IP。
  • 直接关闭源站的防火墙和主机安全防护软件。

源站本身出现异常

源站本身出现异常,将导致响应高防的请求超时,源站异常包括以下几种情况:
  • 源站IP暴露,被恶意攻击导致瘫痪。
  • 源站服务器机房物理故障。
  • 源站服务器中Apache、Nginx等Web服务出现问题。
  • 服务器内存、CPU占用过高,导致性能骤降。
  • 源站上行链路拥挤阻塞。
可通过以下方法进行排查并进行处理:
  1. 修改本机hosts文件,将域名直接指向源站IP。
    • 如果直接通过源站IP也不能访问,请执行以下检查操作,如果存在丢包或超时等现象,则可判断是源站本身出现异常,请根据源站异常的实际情况进行修复后,继续进行下一步排查。
      • 使用ping命令测试与源站IP连通性时,检查是否存在丢包情况。
      • 使用telnet命令测试端口连通性,查看是否存在超时情况。
    • 如果直接通过源站IP访问正常,则需要核实DDoS高防配置是否异常。
  2. 查看源站流量、请求量是否有大量增长,同时对比DDoS高防管理控制台中的监控。如果源站遭到大流量攻击,但DDoS高防管理控制台显示无异常,则有可能是攻击绕过DDoS高防直接攻击源站。这种情况,可能是源站IP暴露,被恶意攻击导致瘫痪。建议您尽快更换源站IP。更多信息,请参见更换源站ECS公网IP
    说明
    • 正常情况下,客户端请求访问DDoS高防,DDoS高防服务收到请求后把真实客户端的源IP转换成高防的回源IP(把真实客户端IP放在HTTP头部的X-Forwarded-For字段中)发送给源站。
    • 如果源站IP暴露,客户端可以直接请求访问源站,这样就绕过了DDoS高防服务提供的防护。
  3. 排除遭受攻击的原因后,可查看源站服务器的CPU和内存占用情况、带宽的监控情况、服务器中服务的进程状态情况等。如有异常,请根据现场实际异常的情况进行修复。

网络出现拥塞或抖动

在已经排除以上两种原因后,偶发的局部网络抖动、运营商线路故障等因素,也可能导致502错误。

相关文档

适用于

DDoS高防

如果您的问题仍未解决,您可以在阿里云社区免费咨询