问题原因
在高防IP作为代理服务器尝试执行请求时,从上游服务器收到了无效的响应,导致发生502错误。因此,说明高防IP服务和源站之间的连接存在问题。在完成网站业务切换后,网站的正常访问流量经过高防IP清洗,并由高防IP回源转发至源站服务器。因此,如果高防IP的回源地址不在源站防火墙的白名单中,访问流量可能被错误拦截,导致网站无法访问。根据分析克制,发生错误的可能原因如下:
- 高防IP回源被源站拦截或限速
- 源站本身出现异常
- 网站出现拥塞或抖动
解决方案
高防IP回源被源站拦截或限速
只要在源站放行所有的高防IP,即可解决出现的502错误。设置放行高防IP的方法有以下两种:
- 获取高防IP网段,在您源站(服务器)地防火墙、主机安全防护软件(如安全狗)中将高防IP网段添加到白名单。
- 直接关闭源站(服务器)的防火墙和主机安全防护软件。
源站本身出现异常
源站本身出现异常,将导致响应高防IP的请求超时,源站异常包括以下几种情况:
- 源站IP暴露,被恶意攻击导致瘫痪。
- 源站服务器机房物理故障。
- 源站服务器中Apache、Nginx等Web服务出现问题。
- 服务器内存、CPU占用过高,导致性能骤降。
- 源站上行链路拥挤阻塞。
可通过以下方法进行排查并处理:
- 修改本机
hosts
文件,将域名直接指向源站IP。- 如果直接通过源站IP也不能访问,请执行以下检查操作,如果存在丢包或超时等现象,则可判断是源站本身出现异常,请根据源站异常的实际情况进行修复后,继续进行下一步排查。
- 使用ping命令测试与源站IP连通性,检查是否存在丢包情况。
- 使用
telnet
命令测试端口连通性,查看是否存在超时情况。
- 如果直接通过源站IP访问正常,则需要合适高防IP是否异常。
- 如果直接通过源站IP也不能访问,请执行以下检查操作,如果存在丢包或超时等现象,则可判断是源站本身出现异常,请根据源站异常的实际情况进行修复后,继续进行下一步排查。
- 查看源站流量、请求数是否有大量增长,同时对比高防IP控制台中的监控。如果源站遭到大流量攻击,但高防IP控制台显示无异常,则有可能是攻击绕过高防IP直接攻击源站。这种情况,可能是源站IP暴露,被恶意攻击导致瘫痪。建议您尽快更换源站IP。 说明:
- 正常情况下,客户端请求访问高防IP,高防IP收到请求后把真实客户端的源IP转换成高防IP(把真实客户端IP放在HTTP头部的X-Forwarded-For字段中)发送给源站。
- 如果源站IP暴露,客户端可以直接请求访问源站,这样就绕过了高防IP提供的防护。
- 排除遭受攻击的原因后,可查看源站服务器的CPU和内存占用情况、带宽的监控情况、服务器中服务的进程状态情况等。如有异常,请根据现场实际异常的情况进行修复。
网络出现拥塞或抖动
在已排除以上两种原因后,偶发的局部网络抖动、运营商线路故障等因素,也可能导致502错误。