1.
问题概述与准备工作
在开始前确认:用户报告具体症状(慢、404、回源、SSL错误等)、受影响域名、发生时间和地域范围。准备工具:能执行 dig/nslookup 的终端、curl、traceroute/mtr、浏览器开发者工具、CDN 控制台与 DNS 管理控制台的账号和权限。
2.
第一步:验证DNS解析结果(本地与全球)
操作步骤:a) 本地查询:dig +trace 域名 或 nslookup 域名,查看是否解析到 CDN 提供商 的 CNAME 或边缘 IP;b) 指定公共解析服务器测试:dig @8.8.8.8 域名 +short;c) 跨地域验证:使用在线工具(如 dnschecker.org)或通过各地服务器测试,确认是否存在区域解析不一致或缓存未生效。
3.
如何判断DNS与CDN的关联问题
要点:a) 正确配置通常是域名 CNAME 指向 CDN 提供的域名;若解析直接返回源站IP(A记录),则无法走 CDN;b) 若 CNAME 链过长或被 DNS 提供商转为 A 记录(裸域问题),可能导致缓存失效或不走边缘;c) 检查 TTL 是否过大导致变更未生效。
4.
使用命令行实操诊断(示例命令与判断)
常用命令与含义:a) dig 域名 CNAME +short —— 看是否返回 CDN 域名;b) dig @8.8.8.8 域名 A +short —— 看是否直接回源 IP;c) curl -I -H "Host: example.com" http://<边缘IP> —— 测试是否能用 Host 走 CDN 并查看响应头(X-Cache、Server、Via);d) traceroute/ mtr 域名 —— 判断路由是否到 CDN 边缘节点。
5.
常见DNS配置错误及修复建议
实例与处理:a) 裸域(example.com)不能直接 CNAME —— 解决:使用 ALIAS/ANAME 或把 www 做为主域并用 301 重定向裸域;b) CNAME 指向错误(拼写或旧域名)—— 修改为 CDN 提供商要求的目标;c) DNS TTL 过长 —— 临时将 TTL 调低(如 300s)以便快速切换并观察效果。
6.
CDN 配置核对清单(与DNS相关项)
逐项核对:a) CDN 控制台中绑定的域名是否与 DNS 中的一致(含裸域与 www);b) 是否启用了 CNAME 验证或已完成域名所有权校验;c) 是否开启了 HTTPS(证书是否绑定且 SNI 正确);d) 回源地址配置是否指向正确的源站域名或 IP,且源站允许 CDN IP 访问。
7.
进一步排查:SSL、SNI 与证书问题
检查步骤:a) openssl s_client -connect 域名:443 -servername example.com —— 查看证书链、SNI 返回的证书是否为 CDN 下发证书;b) 若浏览器报错为证书名不匹配或无效,通常是 DNS 指向了错误的主机或未在 CDN 平台绑定该域名证书;c) 若证书正常但仍不缓存,检查回源头部是否设置 Cache-Control: no-store 等。
8.
当发现 DNS 未指向 CDN:快速处置流程
操作步骤:a) 修改 DNS:将域名的记录调整为 CDN 提供的 CNAME(或 ALIAS);b) 将 TTL 临时调低为 300s;c) 在 CDN 控制台确认域名已开启并通过校验;d) 等待 DNS 生效并用 dig/nslookup 验证;e) 若需要紧急回滚,则将记录恢复为原值并观察。
9.
当发现 DNS 指向 CDN 但仍不生效:深入排查
排查步骤:a) 在不同区域执行 curl 检查响应头,关注 x-cache、via、age 等;b) 若响应来自源站(x-cache: MISS from origin),检查 CDN 的回源探测、回源缓存规则与回源白名单;c) 检查是否在 DNS 或 CDN 层做了地理或运营商分发导致部分地域未命中。
10.
故障定位后的沟通与升级流程
记录要点并实施:a) 收集证据(dig、curl 响应头、traceroute、浏览器抓包、时间线);b) 在 CDN 控制台清缓存(Purge)并重试;c) 如果涉及 DNS 解析器问题,联系 DNS 服务商并提供 dig 输出;d) 若仍无法解决,将证据提交给 CDN 支持(按故障工单模板附上所有输出)。
11.
问:CDN加速不好,如何快速确认是否为DNS问题?
答:先用 dig +short 看域名是否解析为 CDN 提供的 CNAME 或边缘 IP;若解析到源站 IP 或解析结果与 CDN 指定不一致,基本可以确定是 DNS 指向问题。再配合 curl -I 查看响应头(x-cache、via)判断是否来自 CDN 边缘。
12.
问:如果DNS已经指向CDN但部分区域仍不走加速怎么办?
答:先在受影响区域执行 dig 与 curl,确认解析是否一致;若解析不一致,可能是DNS缓存或运营商DNS问题,建议降低TTL、联系解析服务商并使用全球检测工具排查;若解析一致但响应来自源站,检查CDN的回源策略、回源IP白名单、健康检查和地域节点覆盖情况。
13.
问:提交给CDN或DNS厂商工单时需要准备哪些关键信息?
答:提供完整时间线、受影响域名、dig/nslookup 输出(含 @resolver)、curl -I 响应头、traceroute/mtr 路由结果、浏览器报错截图及是否已尝试清缓存/修改TTL等,这些能显著加速问题定位与处理。