站点运营

站点运营:DNS 與 CDN 回源自查,別让解析和缓存把蜘蛛挡在半路

抓取超时、5xx 或内容陈舊,很多时候不是頁面本身的問题,而是域名解析和 CDN 回源配置出了偏差。本文從 DNS 记錄、TTL、回源 Host、缓存規則几個层面梳理自查思路,帮助站点运营者在變更配置时保住抓取路径的稳定。

站点运营

站点运营:DNS 與 CDN 回源自查,別让解析和缓存把蜘蛛挡在半路

抓取異常往往被归因到内容层:是不是頁面太薄,是不是内鏈不够。但排查到後面會發現,蜘蛛根本没走到頁面這一步。域名解析、邊缘节点、回源這几层只要有一层不稳,訪問日誌里呈現出来的就是超时、5xx,或者反复取到舊版本内容。對站点运营来说,這些配置平时不用天天動,但一旦要動,就必须知道風險在哪。

蜘蛛拿到一個頁面要经過几层

大致路径是:解析域名得到 IP,請求打到 CDN 邊缘节点,节点判断缓存是否命中,未命中則回源到源站取内容。任何一层出错,最终表現都可能是抓取失敗,但原因完全不同。区分清楚层級,才不會在错誤的地方反复改内容。

DNS 层容易忽略的几件事

TTL 與變更节奏

  • TTL 设得過長,比如 24 小时,換 IP 之後蜘蛛仍可能按舊记錄訪問,出現一段時間的失敗。
  • TTL 设得過短會增加解析压力,也可能让缓存频繁失效,通常 300 到 600 秒是比較常见的取值。
  • 變更前後留出观察窗口,不要在流量高峰或内容集中更新时切換解析。

记錄本身的一致性

  • 同一主机名下存在多條互相冲突的 A 记錄,或者 CNAME 鏈拉得很長。
  • 配了 AAAA 记錄但服務器並未监听 IPv6,部分請求會走到一個不通的地址上。
  • 主域名與 www 域名的解析目标不一致,導致两套入口的可用性不同。

NS 與多线路解析

只依赖單一 NS 服務商,一旦解析服務波動,整站入口都會受影响。分线路解析时也要注意,不要给某些线路返回了不可用的节点,尤其是搜尋引擎常用的出口线路。

CDN 回源常见的几個坑

回源 Host 與證书

回源 Host 填错,源站可能返回預設站点甚至 404,蜘蛛拿到的是一個完全無關的頁面。走 HTTPS 回源时,還需要 SNI 與源站證书匹配,否則握手阶段就断了,表面看是抓取超时。

缓存規則

  • HTML 被缓存過久,内容更新後蜘蛛仍取到舊版本,索引跟着滞後。
  • 缓存键忽略了影响内容呈現的參數,導致 A 地址返回了 B 地址的内容。
  • 错誤頁被缓存並長期返回,原本临时的故障變成了持續的抓取失敗。

回源频次與放行

  • 回源限速過嚴,或者源站 WAF 把回源請求判定為異常流量直接拦截。
  • 源站没有放行 CDN 节点 IP 段,導致回源請求被拒。
  • 多地节点回源表現不一致,某些地区取到的内容明顯更舊。

怎么判断問题出在哪一层

  1. 先看訪問日誌里的狀態碼分布和耗时分布,確認失敗是集中的還是零散的。
  2. 用多地解析查询工具對比,看不同地区拿到的解析结果是否一致。
  3. 直接带 Host 头請求源站 IP,對比源站响應與通過 CDN 訪問的响應是否一致。
  4. 查看 CDN 的缓存命中率與回源日誌,確認失敗發生在邊缘還是源站。

這一步的價值在于把問题范围缩小。如果源站直连正常、通過 CDN 異常,那大概率是缓存或回源配置;如果直连也失敗,才需要回头看源站本身。

變更时的操作建议

  • 配置調整尽量小步走,先在小范围或單條线路上驗證。
  • 更換解析目标时,舊记錄先保留一段時間,確認新地址稳定後再收回。
  • 變更後的 24 到 72 小时内,重点盯蜘蛛的訪問狀態碼和抓取量變化。
  • 把每次解析和缓存規則的變更记錄下来,出問题时能快速回溯到時間点。
解析和缓存属于看不见的入口。它們不出問题时没人會想起,一旦出問题,就是整段整段地把抓取挡在半路上。