外观
站点访问链路检查操作说明:DNS、CDN 与源站逐段验证方法
约 1366 字
链路检查验证
站点打不开、打开慢或部分用户报错时,凭猜测改配置只会扩大故障面。这份文档给出按 DNS、CDN、源站三段推进的检查顺序,用于确定问题落在哪一段,并把结论记录成可复用的排查记录。
一、适用范围
- 适用:域名解析变更后的生效确认;CDN 接入或回源调整后的连通性复核;源站迁移、换 IP、换端口前后的对照检查;收到用户报障后的首次定位。
- 不适用:证书签发与续期流程(不在本系列文档范围内);页面加载性能的指标采集与解读,见《页面加载性能检测步骤》;源站应用的业务报错不属于链路问题,需由应用日志排查。
二、准备工作
| 项目 | 要求 | 检查方法 |
|---|---|---|
| 域名清单 | 主域名 example.com、加速域名 cdn.example.com、备用域名各一条,注明用途 | 与解析控制台记录逐条比对 |
| 源站入口 | 源站 IP 203.0.113.10 与端口已知,允许直连测试 | curl -I -H "Host: example.com" http://203.0.113.10/ |
| 测试终端 | 已安装 dig、curl、openssl、mtr | dig -v、curl --version、mtr --version |
| 网络出口 | 全程使用同一固定出口,不使用手机热点 | 预先记录出口 IP,检查过程中不切换 |
| 变更记录 | 最近 24 小时的解析、CDN、源站改动清单 | 查变更单或部署记录 |
| 记录表 | 按“段—命令—输出—结论”四列准备空白表 | 手工或表格工具 |
- 检查期间只观察不改动;确需临时调整时,一次只改一处,并在记录表标注时间点。
- 本地 DNS 缓存与浏览器缓存会让结论失真,每段开始前先确认查询对象是权威服务器或公共解析。
三、操作步骤
本节拆成三个子步骤,建议按顺序执行;每一步完成后先确认结果,再进入下一步。
3.1 DNS 段检查
确认各公共解析返回一致、指向预期地址,排除记录缺失、分线路不一致与 TTL 未到期。先看应答由哪台权威服务器给出,再横向对比多家公共解析;结果不一致时优先怀疑缓存未过期,而不是急于修改记录。详见 3.1 DNS 段检查。
3.2 CDN 段检查
确认加速域名已接入、证书有效、回源可达,并能从响应头判断请求是否命中 CDN。命中标识、age 与节点信息三项要一起看,只凭状态码 200 无法判断请求是否真的经过 CDN,也无法判断缓存是否生效。详见 3.2 CDN 段检查。
3.3 源站段检查
绕过 CDN 直连源站,确认源站可用、回源 Host 与端口正确,据此判断故障在 CDN 侧还是源站侧。直连必须携带正确的 Host 头,否则可能命中默认站点,得到的结论与线上无关;HTTPS 直连时只判断连通性,不判断证书。详见 3.3 源站段检查。
三段结论要写进同一张记录表:哪一段正常、哪一段异常、异常的具体表现是什么。三段全部正常而用户仍报障时,转去核对用户所在网络、本地缓存与终端环境,不要继续在服务端找原因。
四、验证方法
- 连续两次执行
dig +short example.com @8.8.8.8与dig +short cdn.example.com @1.1.1.1,结果一致且与解析控制台记录相同。 - 执行
curl -sSI https://cdn.example.com/ | head -n 20,预期返回 200 或 304,响应头包含 CDN 节点标识,证书剩余有效期大于 30 天。 - 执行
curl -sSI -H "Host: example.com" http://203.0.113.10/,预期源站直接返回 200,说明源站与应用均正常。 - 执行
mtr -rwc 20 203.0.113.10,预期丢包为 0,末跳延迟与前三跳差异在 20% 以内。
五、常见问题
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
dig 返回 SERVFAIL | 域名 NS 未生效或解析服务不可用 | 换公共解析重试;仍失败则核对 NS 记录与解析服务状态 |
| 公共解析结果与本地不一致 | 本地或运营商缓存未过期 | 用 dig +trace 看权威应答,等待 TTL 到期后复测 |
| CDN 返回 521 或 522 | 回源连接被拒或超时 | 按 3.3 直连源站,确认端口、安全组与源站负载 |
| HTTPS 报证书错误 | 证书未绑定到加速域名或已过期 | 在加速域名配置页确认证书绑定状态与有效期 |
| 直连源站正常、经 CDN 异常 | 缓存内容错误或回源 Host 配置错误 | 刷新该 URL 缓存,核对回源 Host 与协议 |
六、回滚与注意事项
- 回滚:本流程不产生配置改动;若排障中临时调整了解析或 CDN 规则,按变更单恢复原记录值,恢复后重新执行第四节全部验证。
- 注意:一次只改一个变量,改完立即复测并记录时间,避免多处改动叠加后无法归因。
- 注意:每段的命令与原始输出要留存在工单里,“已恢复正常”不构成可追溯的结论。