WAF连接源站服务器超时
更新时间:
问题描述
WAF 日志中HTTP 504状态码突增。
解决方案
- 原因一:检查所有WAF回源IP段被源站访问控制拦截
排查步骤如下:
1.进入阿里云控制台 Web应用防火墙/日志服务,过滤出状态码为504的日志记录。
2.分析日志,可以看到upstream_status为504,与源站TCP建链5秒超时,且触发了多次重试也没有建联成功。
3.进一步分析日志,从server_addr这个字段可以看到,返回HTTP 504状态码的请求集中在112.xxx.xxx.154 这个回源IP上。
4.初步判断为源站有配置访问控制规则,拦截了这个回源地址的请求。
解决方案:SLB访问控制白名单、ECS实例的安全组规则、防火墙安全策略或Iptables规则放行WAF回源地址段。
- 原因二:后端ECS性能或源站服务器性能瓶颈
排查步骤如下:
1.排查服务器是否存在CPU高,负载高等问题;
2.排查外网带宽跑满均可能导致访问异常。
解决方案:检查后端ECS性能,解决性能瓶颈问题,如果是整体系统容量不够,可以通过扩容后端ECS 的数量消除问题。
- 原因三:应用程序性能瓶颈
排查步骤如下:
- 处理PHP请求的进程数达到上限,已有的PHP请求处理较慢,新的PHP一直处于等待状态,直至超过Nginx的fastcgi_read_timeout的值,就会出现504 Gateway timeout的错误。
- 实际处理动态请求的进程异常,例如php-fpm未启动运行
解决方案:请检查后端ECS Web服务器日志是否有相关错误,Web服务是否正常运行,确认Web访问逻辑是否有问题。
- 原因四:公网链路质量问题
- 测试其他ISP运营商的客户端是否有相同问题,如果仅仅是某个固定运营商网络的客户端访问有问题,一般是运营商封堵导致。
解决方案:抓包确认是否有封堵行为,如果有,请联系运营商解决该问题。
适用范围
- Web应用防火墙
该文章对您有帮助吗?