凯发k8国际娱乐官网入口-k8凯发> web应用防火墙 waf> > > 如何排查404/502/504错误?
更新时间:2024-01-10 gmt 08:00

如何排查404/502/504错误?-凯发k8国际娱乐官网入口

域名接入waf防护之后,若您访问网站时出现404 not found、502 bad gateway,504 gateway timeout等错误,请参考以下方法解决。

网站接入waf防护之后,若您访问网站时出现404 not found、502 bad gateway,504 gateway timeout等错误,请参考以下方法解决。

404 not found错误排查思路和处理建议

网站接入waf后,访问网站时出现404 not found错误,请参考图1进行排查处理。

图1 404错误排查思路
  • 如果访问网站返回如图2所示页面,原因和处理建议说明如下:
    图2 404页面
    原因一:添加防护域名到waf时,配置了非标准端口,例如配置了如图3所示的非标准端口业务,访问网站时未加端口用“https://www.example.com”或者“https://www.example.com:80”访问网站。
    图3 非标准端口配置

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

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

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

    处理建议:直接访问网站域名,如“https://www.example.com”

    原因三:域名解析错误。

    处理建议:
    • 如果该域名已添加到waf进行防护,参照重新完成域名接入的操作,使流量经过waf进行转发。
    • 如果该域名未添加到waf进行防护,需要在dns服务商处将域名解析到源站的ip。

    原因四:用户多个域名走同个waf集群回源到同一个后端https源站 端口,由于waf回源是长连接复用的,后端源站节点无法分辨是哪个域名(nginx通过host和sni分辨),会有一定几率出现a域名的请求转发到b域名的后端,所以会出现404。

    处理建议:修改域名在waf的后端配置,不同的域名走不同的源站端口进行规避。

  • 如果访问网站时,返回的不是图2所示的404页面,原因和处理建议说明如下:

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

    处理建议:请排查网站问题。

502 bad gateway错误排查思路和处理建议

完成waf配置之后网站访问正常,但过一段时间,访问页面返回502,或者大概率出现502,请参考图5进行排查处理。

图5 502错误排查思路
表1 502错误问题处理

可能原因

处理建议

原因一:网站使用了其他的安全防护软件(如360、安全狗、云锁或云盾等安全防护软件),这些软件把waf的回源ip当成了恶意ip,拦截了waf转发的请求

源站服务器配置放行waf回源ip的访问控制策略。

原因二:网站的后端配置了多个服务器,其中某个源站不通

请参照步骤 1~步骤 8,确保所有源站都可以正常访问。

原因三:网站服务器性能问题

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

网站的后端配置了多个服务器,其中某个源站不通时,请参照以下操作步骤,检查网站的服务器是否配置正确。

修改服务器信息,大约需要2分钟同步生效。

  1. 单击管理控制台左上角的,选择区域或项目。
  2. 单击页面左上方的,选择安全与合规 > web应用防火墙 waf
  3. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  4. 在目标域名所在行中,单击目标域名,进入域名基本信息页面。
  5. “服务器信息”栏中,单击,进入“修改服务器信息”页面,确保对外协议、源站协议、源站地址、端口等信息配置正确。
    图6 服务器配置
  6. 检测各个源站是否能正常访问。
    • 在主机上执行以下命令进行检测。
      curl http://xx.xx.xx.xx:yy -kvv
      • xx.xx.xx.xx代表源站服务器的源站ip地址,yy代表源站服务器的源站端口,xx.xx.xx.xx和yy必须是同一个服务器的源站地址和端口。
      • 执行curl命令的主机需要满足以下条件:
        • 网络通信正常。
        • 已安装curl命令。windows操作系统的主机需要手动安装,其他操作系统自带curl。
      图7 检测源站
      • 如果回显信息提示连接正常表示可以正常访问网站。
      • 如果回显信息提示“connection refused”表示源站不通,不能正常访问网站,请执行步骤 8
    • 在浏览器中输入“http://源站地址:源站端口”进行检测。
      • 如果可以访问,表示网站访问正常。
      • 如果不能访问,表示源站不通,不能正常访问网站,请执行步骤 8
  7. 检测服务器是否运行正常。

    如果运行不正常,请尝试重启服务器。

504 gateway timeout错误排查思路和处理建议

完成waf域名接入配置之后,业务正常,但当业务量增加时,发生504错误的概率增加,直接访问源站ip也有一定概率出现504错误,请参考图8进行排查处理。

图8 504错误排查思路
表2 504错误问题处理

可能原因

排查方法

处理建议

原因一:后端服务器性能问题(连接数,cpu内存占用过大等)

源站性能问题,可以排查源站访问日志以及访问流量情况,定性分析。

  • 优化服务器的相关配置,包括tcp网络参数的优化配置,ulimit相关参数设置等。
  • 如果是云模式部署方式,建议在elb上增加后端服务器组或创建新的elb,支撑大量增长的业务量。
    • 增加后端服务器组的详细操作,请参见。
    • 配置新elb的操作,请参考步骤 1~步骤 7
  • 如果“对外协议”是https,建议在waf设置https转发,回源走http协议即“源站协议”设置为http,降低后端服务器的计算压力。

    修改服务器信息的详细操作,请参见修改服务器信息

  • 使用cc防护规则,拦截恶意流量。

原因二:

  • 安全组未将waf回源ip设置为白名单或未放开端口
  • 源站有防火墙设备,且该防火墙设备拦截了waf的回源ip

建议采用以下方法进行排查:

  • 排查客户源站是否有安全组,防火墙,服务器安全软件等。
  • 在客户端与waf上同时进行抓包分析,排查源站防火墙等设备对waf的长连接是否有主动丢包的现象。
  • 源站服务器配置放行waf回源ip的访问控制策略。
  • 建议您关闭防火墙和服务器安全防护软件。

原因三:连接超时、read超时

说明:
  • 源站响应时间过长导致504(数据库查询时间过长,大文件上传时间过长,源站故障等)。
  • waf回源到客户源站超时时间大多为60秒或180秒,若超时则会报错504。

该问题有以下排查方法:

  • 绕过waf,直接访问客户源站,查看响应时长
  • 查看全量日志里面访问日志源站响应时长
  • 建议客户绕过waf测试上传功能,并检查客户上传文件大小
  • 数据库查询时间过长:
    • 调整优化业务,尽量缩短查询时长,优化用户体验。
    • 修改请求的交互方式,让这种长连接在 60s 内能有一些数据交互(如,ack报文、心跳包、keep-alive等任何可以维持会话的报文)。
  • 大文件上传时间过长:
    • 调整优化业务,尽量缩短文件上传时间。
    • 建议使用ftp方式上传文件。
    • 直接通过ip上传,或者使用没有被waf防护的域名上传。
    • 使用waf的独享模式,独享waf回源超时默认为180s。
  • 源站故障类:

    检查源站业务是否正常。

原因四:源站带宽不足,访问流量过大,带宽超限制

该问题有以下排查方法:

  • 若客户配置的waf后端为7层elb,则可以在elb上查504相关日志
  • 若客户配置的waf后端为4层elb,则可以在elb上查“traffic exceeded the bandwidth threshold”相关字段日志
  • 若客户配置的waf后端为eip,则在504高峰查看eip流量监控。

扩展源站服务器带宽。

创建新的elb,参照以下方法将elb的eip作为服务器的ip地址,接入waf。

修改服务器信息,大约需要2分钟同步生效。

  1. 进入网站设置页面入口,如图9所示。
    图9 网站设置入口
  2. 在目标域名所在行的“防护网站”列中,单击目标域名,进入域名基本信息页面。
  3. “服务器信息”栏中,单击,进入“修改服务器信息”页面,单击“添加”,新增后端服务器。
    图10 服务器配置
  4. “源站地址”设置为elb的弹性公网ip地址。
  5. 单击“确定”,服务器信息修改成功。
分享:

more

网站地图