添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何排查404/502/504错误?

网站接入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进行防护,参照 域名解析 重新完成域名接入的操作,使流量经过WAF进行转发。
  • 如果该域名未添加到WAF进行防护,需要在DNS服务商处将域名解析到源站的IP。
  • 如果访问网站时,返回的不是 图2 所示的404页面,原因和处理建议说明如下:

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

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

  • 502 Bad Gateway错误排查思路和处理建议

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

    图5 502错误排查思路

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

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

  • 云模式:请参见 如何放行云模式WAF的回源IP段?
  • 独享模式:请参见 放行独享引擎回源IP
  • 原因二: 网站的后端配置了多个服务器,其中某个源站不通

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

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

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

  • 单击管理控制台左上角的 ,选择区域或项目。
  • 单击页面左上方的 ,选择 安全与合规 > Web应用防火墙 WAF
  • 在左侧导航树中,选择 “网站设置” ,进入 “网站设置” 页面。
  • 在目标域名所在行中,单击目标域名,进入域名基本信息页面。
  • “服务器信息” 栏中,单击 ,进入 “修改服务器信息” 页面,确保对外协议、源站协议、源站地址、端口等信息配置正确。

    图6 服务器配置

  • 检测各个源站是否能正常访问。

  • 在主机上执行以下命令进行检测。
    curl http://xx.xx.xx.xx:yy -kvv
  • xx.xx.xx.xx代表源站服务器的源站IP地址,yy代表源站服务器的源站端口,xx.xx.xx.xx和yy必须是同一个服务器的源站地址和端口。
  • 执行curl命令的主机需要满足以下条件:
  • 网络通信正常。
  • 已安装curl命令。Windows操作系统的主机需要手动安装 curl ,其他操作系统自带curl。
  • 如果回显信息提示 “connection refused” 表示源站不通,不能正常访问网站,请执行 步骤 8
  • 在浏览器中输入“http:// 源站地址 : 源站端口 ”进行检测。
  • 如果可以访问,表示网站访问正常。
  • 如果不能访问,表示源站不通,不能正常访问网站,请执行 步骤 8
  • 检测服务器是否运行正常。

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

  • 504 Gateway Timeout错误排查思路和处理建议

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

    图8 504错误排查思路
  • 配置新ELB的操作,请参考 步骤 1 ~ 步骤 7
  • 如果 “对外协议” 是HTTPS,建议在WAF设置HTTPS转发,回源走HTTP协议即 “源站协议” 设置为HTTP,降低后端服务器的计算压力。

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

  • 使用CC防护规则,拦截恶意流量。
  • 安全组未将WAF回源IP设置为白名单或未放开端口
  • 源站有防火墙设备,且该防火墙设备拦截了WAF的回源IP
  • 建议采用以下方法进行排查:

  • 排查客户源站是否有安全组,防火墙,服务器安全软件等。
  • 在客户端与WAF上同时进行抓包分析,排查源站防火墙等设备对WAF的长连接是否有主动丢包的现象。
  • 源站服务器配置放行WAF回源IP的访问控制策略。
  • 云模式:请参见 如何放行云模式WAF的回源IP段?
  • 独享模式:请参见 放行独享引擎回源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流量监控。
  • 扩展源站服务器带宽。