接入高防IP出现500/502/504错误如何排查?
时间 : 2021-07-20
编辑 : 辰云网络

解释:

502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 

 

一:接入域名开启网站防护之后,访问域名如果出现500/502/504等报错,并且显示”访问节点”和“源站服务器“链接失败,如下图所示

 

出现此问题的原因比较多,如防火墙拦截,源站配置错误,HTTPS/WebSockets采用不安全的协议版本,后端服务器性能问题等。

 

下面是可能的原因和解决方案:

       源站防火墙,源站服务器架构中的安全防护软件(如安全狗),业务限速策略拦截等

      现象:域名接入前访问正常,接入后开启网站防护之后正常,但一段时间后报502或者大概率出现502.

       解决方法:将高防的回源IP段地址添加到防火墙(硬件或者软件),安全防护软件,业务限速模块的白名单

 

       接入域名,源站配置错误

       现象:域名接入开启网站防护后,访问页面返回500/502,或者大概率出现502/500(当后端使用负载均衡如SLB等)

       解决方案:在“网站业务配置“模块中找到响应的域名配置,点击”编辑“查看,确认协议,源站IP、端口等信息是否正确;并在源站服务器确认业务端口是否正常打开。

 

HTTPS/WebSockets 采用不安全的协议版本

现象:接入域名开启网站防护后,HTTPS/WebSockets业务大概率返回502,而直接通过IP访问源站正常。

解决方案:目前我司WAF防护支持TLS1.0以上的版本协议,包含所有的TLS版本,出现此类错误,请确认是否正常配置/启用TLS协议或升级SSL版本进行解决。

可通过访问“https://www.ssllabs.com/ssltest/index.html “检查网站服务的SSL版本信息

 

源站服务器本身出现异常

可能出现的情况:

  • 源服务器IP暴露,被恶意攻击导致瘫痪
  • 源站服务器机房物理故障
  • 源站服务器中 Apache、Nginx 等Web程序出现问题
  • 服务器内存、CPU 占用过高,导致性能骤降
  • 源站上行链路拥挤阻塞

解决方法:

  • 更换源服务器IP,重新接入高防IP防护
  • 优化服务器的相关配置,包括TCP网络参数的优化配置,Uimit相关参数设置
  • 增加源服务器带宽上限,来满足业务增长带宽要求
  • 对后端服务器进行扩充,DDoS高防支持配置多个多端服务器

 

二:接入域名开启网站防护之后,访问出现非高防502友好界面,如下图所示

出现现象:直接通过访问源站出现非高防502界面

解决方法:贵司技术人员检查后端调用情况,服务器状态

 

三:配置高防后,访问网站提示504错误

现象:配置高防IP后,访问网页或执行某些POST请求时,长时间等待后返回504,执行不成功

原因:是由于请求处理时间过长,超过高防IP服务的链接阈值,导致高防IP主动断开连接

HTTP/WebSocket、HTTPS/WebSockets默认连接超时时间为60s

解决方法:建议在应用层部署长时间任务执行的心跳机制,确保在请求等待的过程中保持连接活跃

 

 

四:相关排查方法

判断源服务器是否异常

修改本机hosts文件,将域名直接指向源站IP,如果直接通过源站IP 也不能访问,同时伴随ping源站IP丢包,telnet超时等现象,可判断是源站本身异常导致

异常后可按照下列方法进行检查

  • 源服务器流量,请求量是否有大量增长,对比自服务管理平台中的数据监控。当源站找到大量攻击,但自服务管理平台数据显示无异常,则有可能是攻击绕过高防IP直接攻击源站导致,此时,需要尽快更换源站IP
  • 源服务器的各种进程状态、CPU/内存占用情况、源站带宽的监控情况,如果存在异常,建议贵司技术人员排查解决
  • 其他情况请联系我司的技术人员