如何排查404/502/504错误?
域名接入WAF防护之后,若您访问网站时出现404 Not Found、502 Bad Gateway,504 Gateway Timeout等错误,请参考以下方法解决。
404 Not Found
- 添加防护域名到WAF时,配置了非标准端口,访问网站时未加端口或使用源站端口,而不是非标准端口,用“https://www.example.com”或者“https://www.example.com:80”访问网站。
解决办法:在访问链接后加上非标准端口,再次访问源站,如“https://www.example.com:8080”。
- 添加防护域名到WAF时,没有配置非标准端口,访问时使用了非标准端口或者“源站端口”配置的非标准端口,用“https://www.example.com:8080”访问网站。
没有配置非标准端口的情况下,WAF默认防护80/443端口的业务。其他端口的业务不能正常访问,如果您需要防护其他非标准端口的业务,请重新进行域名配置。
解决办法:直接访问网站域名,如“https://www.example.com”。
现象二:访问网站时,返回的不是图1所示的页面,而是其他的404页面。
原因:网站页面不存在或已删除。
解决办法:请排查网站问题。
502 Bad Gateway
如果您的网站不是部署在云上,建议您咨询服务器服务商,该服务器是否存在默认的防护拦截并要求服务商解除默认拦截。
这种情况一般有三种原因:
- 原因一:您的网站使用了其他的安全防护软件(如360、安全狗、云锁或云盾等安全防护软件),这些软件把WAF的回源IP当成了恶意IP,拦截了WAF转发的请求,导致不能正常访问。
解决办法:将WAF的回源IP网段添加到防火墙(硬件或软件)、安全防护软件、业务限速模块的白名单中。
- 原因二:网站的后端配置了多个服务器,其中某个源站不通。
按以下方法检测源站配置是否正确:
- 登录管理控制台,单击页面上方的“服务列表”,选择 ,进入Web应用防火墙控制界面。
- 在左侧导航树中选择“网站设置”,进入“网站设置”页面。
- 在目标域名所在行的“防护网站”列中,单击目标域名,进入域名基本信息页面。
- 在“服务器信息”栏中,单击,进入“修改服务器信息”页面,确保对外协议、源站协议、源站地址、端口等信息配置正确。
- 在主机上执行curl命令检测各个源站是否能正常访问。
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://源站地址:源站端口”检测源站是否能正常访问。
如果显示“connection refused”表示源站不通,不能正常访问网站。按以下方法处理:
- 检测服务器是否运行正常,如果运行不正常,请尝试重启服务器。
- 将WAF的回源IP网段添加到防火墙(硬件或软件)、安全防护软件、业务限速模块的白名单中。
- 执行curl命令的主机需要满足以下条件:
- 原因三:源站性能问题。
解决办法:排查网站问题并联系您的网站负责人进行解决。
504 Gateway Timeout
现象:完成WAF域名接入配置之后,业务正常,但当业务量增加时,发生504错误的概率增加,直接访问源站IP也有一定概率出现504的返回码。
可能有以下几个原因:
- 原因一:后端服务器性能问题(连接数,CPU内存占用过大等)。
解决办法:
- 优化服务器的相关配置,包括TCP网络参数的优化配置,ulimit相关参数设置等。
- 为了支撑业务量的大量增长,可按照方法一或者方法二进行处理。
方法一:在ELB上增加后端服务器组。
方法二:创建新的ELB,并参照以下方法将ELB的EIP作为服务器的IP地址,接入WAF。- 登录管理控制台,单击页面上方的“服务列表”,选择 ,进入Web应用防火墙控制界面。
- 在左侧导航树中选择“网站设置”,进入“网站设置”页面。
- 在目标域名所在行的“防护网站”列中,单击目标域名,进入域名基本信息页面。
- 在“服务器信息”栏中,单击,进入“修改服务器信息”页面,单击“添加”,新增后端服务器。
- 如果客户端协议即“对外协议”是HTTPS协议,可考虑在WAF设置HTTPS转发,回源走HTTP协议即“源站协议”设置为HTTP,降低后端服务器的计算压力。
- 原因二:安全组未将WAF回源IP设置为白名单或未放开端口。
解决办法:将WAF的回源IP在网站所在的ECS的安全组里设置为白名单。
- 原因三:源站有防火墙设备,且该防火墙设备拦截了WAF的回源IP。
解决办法:将WAF的回源IP在网站所在的ECS的安全组里设置为白名单或者卸载除WAF以外其他防火墙软件。
- 原因四:连接超时、read超时。
解决办法:
- 原因五:源站超带宽。
解决办法 :扩展源站服务器带宽。