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),以及大致的错误时间点;
目录
相关文章
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
6月前
|
Oracle 关系型数据库 数据库
oracle11.2.0.4安装步骤详解(附配置与连接教程)
Oracle 11g R2(11.2.0.4)是企业常用数据库,本文介绍其Windows安装全流程。涵盖环境准备、安装包下载、系统配置、安装步骤及首次连接操作,助你快速完成部署并通过SQL*Plus验证运行。
2339 4
|
存储 大数据 数据处理
大数据环境下的性能优化策略
大数据环境下的性能优化策略
623 2
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
1620 2
|
Ubuntu 安全 Linux
openSSH升级
【10月更文挑战第2天】本文介绍了如何升级 OpenSSH 的步骤。首先,通过不同命令检查当前系统中的 OpenSSH 版本;其次,备份配置文件以防升级时丢失;然后,在 Debian/Ubuntu 和 CentOS/RHEL 系统中分别执行不同的命令进行升级;最后,验证升级后的版本并检查服务状态,解决兼容性问题,并考虑新的安全特性。
2689 3
|
存储 Go Python
[golang]使用gopsutil获取系统信息
[golang]使用gopsutil获取系统信息
703 0
|
缓存 Linux 开发工具
docker的centos容器使用yum报错
docker的centos容器使用yum报错
732 0
|
canal 消息中间件 关系型数据库
大数据同步工具Canal 1
大数据同步工具Canal
1244 0
|
Android开发 UED 开发者
解释Android App Bundle是什么,它的优势是什么?
解释Android App Bundle是什么,它的优势是什么?
440 0
|
网络协议 测试技术 应用服务中间件
DCDN IPA TOA 测试最佳实践
## IPA TOA 的使用背景: TOA 模块是为了让后端的 realserver 能够看到真实的 clientip 而不是负载均衡器或者 proxy 的代理 ip; 阿里云的全站加速产品天然的支持 TOA 的透明转发,且性能测试满足企业高并发访问性能,接下来看下如何进行 toa 使用。 ### 1、安装 aliyun toa 支持 opcode=28/254 https://github.c
2151 0
DCDN IPA TOA 测试最佳实践

热门文章

最新文章