先给结论:当源站响应正常、但通过 CDN 或反向代理访问时出现异常,最该保留的不是“网站打不开”的截图,而是能证明请求在哪一跳开始偏离的证据——具体包括带时间戳的响应头、节点 IP 与请求 URL 的对应关系、以及同一时刻源站直连的对照结果。只留最终页面截图,事后几乎无法区分是节点缓存污染、回源链路问题,还是 DNS 解析到了错误节点。
源站正常只说明你的服务器在某一时刻、对某一来源返回了预期内容。边缘节点是独立的一层,它有自己的缓存、回源策略和解析结果。常见的矛盾现象是:用服务器 IP 直连或 curl 指定源站时返回 200 和正确内容,但通过域名访问却返回旧页面、错误跳转或 5xx。这时问题已经不在源站代码,而在“域名 → 节点 → 回源”这条链路上。域名注册建议在这里的作用是提醒你:解析记录、TTL 和 CNAME 配置本身就是这条链路的一部分,改动它们会直接改变边缘行为,所以证据要覆盖解析层。
边缘异常通常落在两类解释里,它们的证据需求不同。
Age 值。这两类的处理动作完全不同:前者要清缓存、核对缓存键和 TTL;后者要查解析、回源白名单和节点健康状态。如果证据不足,很容易在错误的一层反复操作,比如明明是解析到了旧节点,却一直在源站改代码。
下面这些证据要在异常发生时同步采集,事后补采往往已经失效。
curl -I 或浏览器开发者工具导出,保留 Date、Age、Cache-Control、X-Cache 一类字段。缓存层问题通常在这里露出痕迹。dig 或 nslookup 返回的 IP 和 CNAME 链。链路层问题往往从这里就能看出解析到了非预期节点。Host 头请求同一 URL,保留结果。这是判断“源站是否真的正常”的基准,不能只凭印象。一个假设例子:假设你发现通过域名访问返回旧首页,直连源站返回新首页。若响应头里 Age 很大且带有缓存命中标记,更可能是缓存层问题,下一步应核对缓存键和刷新策略;若解析到的 IP 属于一个你已不再使用的旧节点,则更可能是链路层问题,下一步应检查解析记录和 TTL 是否已按预期生效。这个判断只依赖上面采集的证据,不需要猜测。
采集顺序本身会影响结论。建议先固定一个异常 URL,再在同一分钟内完成“解析快照 → 域名请求响应头 → 源站直连对照”三步,这样三份证据的时间戳接近,才能互相印证。如果你先花时间清缓存再取证,缓存层证据就被自己破坏了,之后无法判断异常是否真的来自缓存。
另外,解析记录和 TTL 的改动要留变更记录。域名注册建议的核心不是“注册完就不管”,而是把解析当成可追溯的配置:改了什么、什么时候改、预期生效时间,都要和上面的证据放在一起。这样当边缘再次异常时,你能快速判断是配置变更引起,还是节点自身问题。
抓取量下降、某个统计归零,都不能单独证明边缘处理正确。它们可能来自抓取预算变化、日志采样、统计延迟,或搜索引擎自身的调度调整。同理,站点地图提交成功不代表收录,robots.txt 的限制也不等于可靠的索引移除,HTTPS 也不保证没有漏洞或排名提升。这些现象只能作为辅助线索,必须和上面的直接证据一起看。
把证据留到能复现、能对账的程度,再决定是清缓存、改解析还是联系节点服务方,才是从“源站正常但边缘异常”这个矛盾里走出来的实际路径。