当前位置:主页 > 查看内容

如何排查404/502/504错误?_Web应用防火墙 WAF_常见问题_业务中

发布时间:2021-09-28 00:00| 位朋友查看

简介:域名接入WAF防护之后,若您访问网站时出现404 Not Found、502 Bad Gateway,504 Gateway Timeout等错误,请参考以下方法解决。 404 Not Found 现象一: 访问网站时,返回如 图1 所示的页面。 图1 404页面 原因 :访问地址增加的端口错误。 添加防护域名到WAF……

域名接入WAF防护之后,若您访问网站时出现404 Not Found、502 Bad Gateway,504 Gateway Timeout等错误,请参考以下方法解决。

404 Not Found

现象一:访问网站时,返回如图1所示的页面。
图1 404页面
原因:访问地址增加的端口错误。
  • 添加防护域名到WAF时,配置了非标准端口,访问网站时未加端口或使用源站端口,而不是非标准端口,例如配置了如图2所示的非标准端口业务,用“https://www.example.com”或者“https://www.example.com:80”访问网站。
    图2 非标准端口配置

    解决办法:在访问链接后加上非标准端口,再次访问源站,如“https://www.example.com:8080”

  • 添加防护域名到WAF时,没有配置非标准端口,访问时使用了非标准端口或者“源站端口”配置的非标准端口,例如配置了如图3所示的防护业务,用“https://www.example.com:8080”访问网站。
    图3 未配置非标准端口

    没有配置非标准端口的情况下,WAF默认防护80/443端口的业务。其他端口的业务不能正常访问,如果您需要防护其他非标准端口的业务,请重新进行域名配置。

    解决办法:直接访问网站域名,如“https://www.example.com”

现象二:访问网站时,返回的不是图1所示的页面,而是其他的404页面。

原因:网站页面不存在或已删除。

解决办法:请排查网站问题。

502 Bad Gateway

现象:完成WAF配置之后网站访问正常,但过一段时间,访问页面返回502,或者大概率出现502。

如果您的网站不是部署在华为云的服务器上,建议您咨询服务器服务商,该服务器是否存在默认的防护拦截并要求服务商解除默认拦截。

这种情况一般有三种原因:

  • 原因一:您的网站使用了其他的安全防护软件(如360、安全狗、云锁或云盾等安全防护软件),这些软件把WAF的回源IP当成了恶意IP,拦截了WAF转发的请求,导致不能正常访问。

    解决办法:参见如何放行回源IP段?将WAF的回源IP网段添加到防火墙(硬件或软件)、安全防护软件、业务限速模块的白名单中。

  • 原因二:网站的后端配置了多个服务器,其中某个源站不通。
    按以下方法检测源站配置是否正确:
    1. 登录管理控制台,单击页面上方的“服务列表”,选择安全 > Web应用防火墙,进入Web应用防火墙控制界面。
    2. 在左侧导航树中选择“网站设置”,进入“网站设置”页面。
    3. 在目标域名所在行的“防护网站”列中,单击目标域名,进入域名基本信息页面。
    4. “服务器信息”栏中,单击,进入“修改服务器信息”页面,确保对外协议、源站协议、源站地址、端口等信息配置正确。
      图4 服务器配置
    5. 在主机上执行curl命令检测各个源站是否能正常访问,如图5所示。
      curl http://xx.xx.xx.xx:yy -kvv

      xx.xx.xx.xx代表源站服务器的源站IP地址,yy代表源站服务器的源站端口,xx.xx.xx.xx和yy必须是同一个服务器的源站地址和端口。

      • 执行curl命令的主机需要满足以下条件:
        • 网络通信正常。
        • 已安装curl命令。Windows操作系统的主机需要手动安装curl,其他操作系统自带curl。
      • 您也可以在浏览器中输入“http://源站地址:源站端口检测源站是否能正常访问。
      图5 检测源站

      如果显示“connection refused”表示源站不通,不能正常访问网站。按以下方法处理:

      • 检测服务器是否运行正常,如果运行不正常,请尝试重启服务器。
      • 参见如何放行回源IP段?将WAF的回源IP网段添加到防火墙(硬件或软件)、安全防护软件、业务限速模块的白名单中。
  • 原因三:源站性能问题。

    解决办法:排查网站问题并联系您的网站管理员进行解决。

504 Gateway Timeout

现象:完成WAF域名接入配置之后,业务正常,但当业务量增加时,发生504错误的概率增加,直接访问源站IP也有一定概率出现504的返回码。

可能有以下几个原因:

  • 原因一:后端服务器性能问题(连接数,CPU内存占用过大等)。
    解决办法:
    1. 优化服务器的相关配置,包括TCP网络参数的优化配置,ulimit相关参数设置等。
    2. 为了支撑业务量的大量增长,可按照方法一或者方法二进行处理。

      方法一:在ELB上增加后端服务器组,具体的方法参见添加或移除后端服务器(增强型)

      方法二:创建新的ELB,具体的方法参见创建负载均衡器,并参照以下方法将ELB的EIP作为服务器的IP地址,接入WAF。
      1. 登录管理控制台,单击页面上方的“服务列表”,选择安全 > Web应用防火墙,进入Web应用防火墙控制界面。
      2. 在左侧导航树中选择“网站设置”,进入“网站设置”页面。
      3. 在目标域名所在行的“防护网站”列中,单击目标域名,进入域名基本信息页面。
      4. “服务器信息”栏中,单击,进入“修改服务器信息”页面,单击“添加”,新增后端服务器。
        图6 服务器配置
    3. 如果客户端协议即“对外协议”是HTTPS协议,可考虑在WAF设置HTTPS转发,回源走HTTP协议即“源站协议”设置为HTTP,降低后端服务器的计算压力。如何修改服务器信息,具体请参见修改服务器信息
      图7 服务器的配置
  • 原因二:安全组未将WAF回源IP设置为白名单或未放开端口。

    解决办法:参照源站保护最佳实践将WAF的回源IP在网站所在的ECS的安全组里设置为白名单。

  • 原因三:源站有防火墙设备,且该防火墙设备拦截了WAF的回源IP。

    解决办法:参照源站保护最佳实践将WAF的回源IP在网站所在的ECS的安全组里设置为白名单或者卸载除WAF以外其他防火墙软件。

  • 原因四:连接超时、read超时。

    解决办法:联系技术支持进行解决。

  • 原因五:源站超带宽。

    解决办法 :扩展源站服务器带宽。

  • 原因六:独享模式下,源站安全组或源站网络ACL未放开。

    解决办法 :放开安全组端口(例如80 、443),网络ACL放通源站子网。详细操作,请参见添加安全组规则添加网络ACL规则


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:批量释放ECS实例 - 运维编排服务 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐