CDN - 访问出现 503 排查

简介: 场景 用户在阿里云做 CDN 加速后,加载 URL 时返回 503 状态码; curl -I http://z2.alx.yas.com/uploads/basedata/images/1fcb73c76821610a6d265af01a10f045.

作者:张医博

场景

用户在阿里云做 CDN 加速后,加载 URL 时返回 503 状态码;

curl -I http://z2.alx.yas.com/uploads/basedata/images/1fcb73c76821610a6d265af01a10f045.png 
HTTP/1.1 503 Service Temporarily Unavailable
Server: Tengine
Content-Length: 0
Connection: keep-alive
Via: cache29.l2cn1828[0,503-256,M], cache7.l2cn1828[10002,0], vcache5.cn627[10025,503-1281,M], vcache5.cn627[10022,10026,0]
X-Swift-Error: forward no peer valid
Age: 0
Ali-Swift-Global-Savetime: 1566887228
X-Cache: MISS TCP_MISS dirn:-2:-2
X-Swift-SaveTime: Tue, 27 Aug 2019 06:27:08 GMT
X-Swift-CacheTime: 1
X-Swift-Error: orig response 5xx error
Timing-Allow-Origin: *
EagleId: 7909f64515668872085932615e

问题排查

第一、客户端可以用 curl、wget 或者浏览器测试,将返回 503 时的 http 响应头保留下来;

curl -I http://z2.alx.yas.com/uploads/basedata/images/1fcb73c76821610a6d265af01a10f045.png --resolve basedata.azoyacdn.com:80:121.9.46.110
HTTP/1.1 503 Service Temporarily Unavailable
Server: Tengine
Content-Length: 0
Connection: keep-alive
Via: cache29.l2cn1828[0,503-256,M], cache7.l2cn1828[10002,0], vcache5.cn627[10025,503-1281,M], vcache5.cn627[10022,10026,0]
X-Swift-Error: forward no peer valid
Age: 0
Ali-Swift-Global-Savetime: 1566887228
X-Cache: MISS TCP_MISS dirn:-2:-2
X-Swift-SaveTime: Tue, 27 Aug 2019 06:27:08 GMT
X-Swift-CacheTime: 1
X-Swift-Error: orig response 5xx error
Timing-Allow-Origin: *
EagleId: 7909f64515668872085932615e

从 CDN 返回的 503 http 响应头可以看到几个重要信息:

1) X-Swift-Error: orig response 5xx error

  • 通过 X-Swift-Error 返回的信息,可以初步判断 503 是因为 CDN 回源后响应的 503;

2) http 返回的 Via 头

  • Via 头含义,从右到左依次是 L1 节点回源字段,vcache5.cn627[10025,503-1281,M], vcache5.cn627[10022,10026,0] ,L2 节点的回源字段 cache29.l2cn1828[0,503-256,M], cache7.l2cn1828[10002,0]
  • 在 L2 的字段段看到 [] 内的 10002 就是回源的超时时间,综合判断可知是因为 L2 回源后,超时未得到原站的响应(比如读、写超时)导致的 503;

第二、固定原站做七层测试

Linux 测试

原站是 80 端口

curl -vo /dev/null "http://z2.alx.yas.com/" -x 原站IP:原站端口

原站是 443 端口

curl -vo /dev/null "http://z2.alx.yas.com/" --resolve "z2.alx.yas.com:原站IP:原站端口"

Windows 测试

1)先编辑

C:\Windows\System32\drivers\etc\hosts

2)在 hosts 中配置原站 IP: 原站IP z2.alx.yas.com
3)浏览器发起 http/https 请求,如果原站 http 端口不是 80 ,浏览器访问时需要在域名后手动加上原站的自定义端口

http://z2.alx.yas.com:8080

第三、测试原站四层的端口,看响应时间是否正常

time telnet 原站IP 原站端口,如果发现四层的端口响应很慢,侧面说明原站七层的应用负载较高,或者服务器负载异常,需要原站自查;

第四、对原站做网络测试

ping 原站IP -c 50 -s 1460 -i 0.1
mtr -n 原站IP

通过以上两个网络测试命令,看下普通的客户端到原站的延迟是否稳定,丢包率是否异常,如果普通的客户端测试到原站延迟、丢包都有异常,那 CDN 回源可能也有问题,发现原站如果网络异常,需要客户先自查下;

第五、以上四点测试均正常,需要 CDN 测进行日志分析,请提交工单到阿里云;

提供如下信息:

1)加载 503 的 URL ,最好能提供报错的完整响应头;
2)客户端 ping 下 CDN 域名看目标的 CDN ;
3)大面积的 503 ,还是个别客户加载 503 ,大面积的问题存在共性;
4)客户端的 IP(获取工具 https://cdn.dns-detect.alicdn.com/https/doc.html),以及大致的错误时间点;

相关文章
|
4月前
|
缓存 网络安全 数据安全/隐私保护
使用阿里云国际CDN加速后网站无法访问的排查步骤
使用阿里云国际CDN加速后网站无法访问的排查步骤
|
4月前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5534 16
|
缓存 边缘计算 网络协议
CDN永远的神!成功解决了困惑我多年的GitHub访问太慢问题
我写技术文章画的图片是保存到 GitHub 的,没别的原因,就是因为免费,但是GitHub 访问的速度大家都懂的,访问的速度很慢。 所以我会用 CDN 来加速图片的访问,也就是我的图床的方案是 GitHub + jsdelivr CDN,使用很简单,只需要把域名地址替换一下就行。
|
域名解析 缓存 前端开发
前端性能优化 实际应用cdn 加快静态资源访问
前端性能优化 实际应用cdn 加快静态资源访问
前端性能优化 实际应用cdn 加快静态资源访问
|
边缘计算 监控 前端开发
利用阿里云Eventbridge在CDN边缘应用程序中访问日志服务SLS
在Web前端领域,追求极致性能是个永恒的话题。这些年的一些新兴理念都是为了提升站点访问性能而提出,无论是Jamstack技术理念或者或者 ESR (边缘渲染),都是Client侧进行性能优化的基础上,进一步拓展到了网络Infra层面,就是我们现在经常讨论的边缘计算。而阿里云的CDN EdgeRoutine 就是为广大客户提供可自由编程的边缘计算能力,我们可以用他来构建边缘节点的网关应用,来访问静态资源或者后端服务。当这个边缘网关在业务上承担的角色越来越重要的时候,我们就对他内部的业务逻辑产生了可观测的诉求,希望能够记录日志到日志服务上,然而日志服务提供的SDK,在ER的环境中暂时不被支持,这个
345 0
|
存储 CDN
jsdelivr cdn大陆挂了不能访问替代方案
jsdelivr cdn大陆挂了不能访问替代方案
1487 0
jsdelivr cdn大陆挂了不能访问替代方案
|
存储 缓存 负载均衡
分布式架构原理--CDN加速静态文件访问
分布式架构原理专题: (演进过程及如何把应用从单机扩展的分布式;CDN加速静态文件访问;系统监控、容灾、存储动态扩容;架构设计及业务驱动分化;CAP\Base理论及其应用)
601 0
分布式架构原理--CDN加速静态文件访问
|
存储 对象存储 CDN
【对象存储OSS/网络分发加速CDN】使用OSS后,如何实现流量访问限制或请求次数的限制
描述使用对象存储OSS后,如何实现流量访问限制或请求次数的限制
2455 2
|
Web App开发 监控 网络协议
抽丝剥茧定位一个CDN访问慢的案例
源站安全策略将CDN回源IP识别为攻击IP进行拦截,CDN回源504触发重试导致访问时间拉长。
452 1
|
网络协议 Linux Android开发

热门文章

最新文章