作为运维,你要把握CDN的三个核心概念:一是节点分发,即通过全球或区域节点将内容就近分发以降低延迟;二是缓存策略(缓存时间、缓存键、缓存排除);三是回源与回退逻辑(当节点没有命中时如何回源)。理解这些能帮助你在排错时判断是网络、缓存还是源站问题。
检查DNS解析是否指向CDN提供商,确认TTL设置,查看是否已启用加速域名并生效,验证回源地址是否正确且可达。
使用 dig / nslookup 确认解析,curl -I 查看响应头(注意含有CDN供应商的标识与缓存头),traceroute 或 ping 判断网络链路。
遇到“未命中”或“回源”频繁的现象,先检查DNS与回源连通性,再看是否因缓存策略或请求头导致不同缓存键。
搭建流程通常是:在CDN控制台添加加速域名 → 配置回源(IP或域名、端口、协议)→ 配置缓存规则和HTTPS → 配置域名解析到CDN分配的CNAME。第一轮检查重点是:CNAME是否解析生效、回源是否可访问、CDN控制台显示是否健康。
确认加速域名状态为已开启,CNAME解析生效(dig 出来的 CNAME 指向 CDN);回源能正常响应(curl -I 回源地址);缓存规则按资源类型生效(静态资源一般长缓存)。
用 curl -I https://yourdomain 看 响应头(如 Age、X-Cache、Via),用浏览器开发者工具验证静态资源是否走CDN并查看缓存时间。
如果页面指向回源(Response Header 标明 MISS 或 BYPASS),检查是否存在不必要的 Cache-Control: no-cache/no-store 或动态参数导致缓存键不同。
常见缓存策略包括基于文件扩展名的静态缓存、基于URL参数的缓存、按路径设置短/长缓存、以及通过请求头(如 Cookie)控制缓存。要提升命中率,目标是减少回源请求并提高静态资源的命中率。
查看响应头中的 Age(表示缓存存在时间)和 X-Cache(或 CDN 提供的命中标识),统计 MISS vs HIT 比例,识别高频 MISS 的URL模式(如包含时间戳或动态参数)。
对静态资源设置长缓存(Cache-Control: max-age),对存在动态参数但可缓存的资源采用忽略参数或自定义缓存键规则,尽量将可缓存资源从带 Cookie 的响应中分离出来。
使用批量日志分析或CDN控制台的统计功能定位命中低的文件路径,先从最热的 10% 资源着手优化,效果通常最明显。
HTTPS 是现在的基本要求。排查要点包括证书是否正确部署在CDN、证书是否过期、SNI 是否生效、以及回源协议(http/https)是否匹配与回源证书信任问题。
确认CDN控制台显示证书为有效期内,使用 openssl s_client -connect yourdomain:443 -servername yourdomain 检查证书链,验证是否存在中间证书缺失或域名不匹配。

确保回源支持HTTPS并使用可信任证书,若回源证书为自签需在CDN端配置信任或使用HTTP回源并开启回源到节点的安全连接策略。同时,页面上避免出现混合内容(HTTPS 页面加载 HTTP 资源)。
浏览器开发者控制台能快速指明混合内容和证书错误信息,结合 openssl 工具定位是证书链问题还是 CDN 配置问题。
排障流程应分层:用户侧 → CDN 边缘 → 回源 → 应用。监控指标包括延迟(TTFB)、带宽、QPS、缓存命中率、错误率(4xx/5xx)以及地域分布差异。
先确认是否为局部网络问题(使用不同地区或网络进行访问对比);然后查看CDN控制台的健康检查与统计,检查是否存在节点异常或配置变更;最后查看源站日志与应用性能监控(APM)。
结合合规的第三方测速(如 pingdom、GTmetrix)、CDN控制台告警、以及自建合成监控脚本(curl、head 请求)实现秒级证据;保存示例请求与响应头便于与CDN厂商沟通。
遇到地域性故障先定位受影响的 PoP(节点),若是全局性问题可能是配置或回源问题;在与CDN客服沟通时提供 curl -I 的完整响应头与时间戳可大幅缩短排查时间。