访问CDN加速的网站报HTTP 503错误的排查思路
更新时间:
问题描述
访问使用阿里云CDN加速的网站时报HTTP 503错误。本文通过模拟报错环境,分析现象和排查问题,并找出根源。
问题原因
访问CDN加速的网站发生503错误的原因如下:
- 源站服务器上的Web服务程序异常。
- 源站服务器超载,无法处理请求。
- 源站服务器配置了单个IP访问的限制,当前已经超过了该限制,请求被拒绝。
解决方案
为了定位HTTP 503错误的问题根源,进行了场景模拟,模拟的场景为:一台运行着Nginx服务的ECS实例,将其作为CDN的源站,然后关闭Nginx服务,通过如下步骤对模拟的场景进行排查和分析。
-
在支持curl命令的环境中,执行如下命令,分析返回结果。
curl -voa http://[$Your_Web_Address]
说明:[$Your_Web_Address]指模拟场景中的站点地址。
系统返回类似如下,“HTTP 503 服务不可用”的错误,X-Cache为“MISS_TCP_MISS”,同时X-Swift报“5xx error”的错误,表示未命中缓存,服务端有异常,与真实环境报错一致。
- 执行如下命令,使用源站ECS实例的公网IP及80端口作为代理,访问使用CDN的网站,分析返回结果。
curl -voa http://[$Your_Web_Address] -x [$ECS_IP]:80
说明:[$ECS_IP]指模拟场景中源站ECS实例的公网IP地址。
系统返回类似如下,连接被拒绝,有如下三种可能:- 80端口没有被Web服务程序所占用,也就是说Web服务程序没有正常运行。
- 服务器超载,无法处理请求。
- 服务器配置了单个IP访问的限制,当前已经超过了该限制,请求被拒绝。
- 根据模拟结果,检查源站的Web服务程序是否出现异常,服务器是否超载以及是否配置了访问限制等安全防护。
适用于
- CDN
- 云服务器 ECS
文档内容是否对您有帮助?