站点运营

站点运营:HTTPS 證书與混合内容自查,別让安全告警打断抓取與渲染

證书過期、證书鏈不完整、頁面里混着 http 资源,這類問题平时没有感觉,出事时却是整片頁面無法訪問。本文梳理證书有效期、鏈證书、域名覆盖與混合内容的常见来源,给出一份可以照着做的自查與修复顺序,帮助站点减少無谓的抓取失敗與渲染差异。

站点运营

站点运营:HTTPS 證书與混合内容自查,別让安全告警打断抓取與渲染

很多站点功能上没問题,但蜘蛛抓取和用戶訪問偶尔會“断一下”,原因往往出在传輸层:證书過期、證书鏈不完整、頁面里混着 http 资源。這類問题不會天天出現,一旦出現就是整站或整片頁面的訪問失敗,事後排查又容易被忽略,因為内容、结构、内鏈看上去都是好的。

先確認證书本身是否可靠

  • 有效期:證书過期当天,浏览器和蜘蛛都會直接中断连接,日誌上表現為大量连接失敗或超时,而不是 404。
  • 證书鏈:只部署了站点證书、漏掉中間證书时,一部分客戶端报错、另一部分却正常,很容易被誤判成“蜘蛛抽風”。
  • 域名覆盖:主域名、带 www 的域名、子域名是否都在證书的 SAN 列表里,避免某個栏目域名單獨报错。
  • SNI 與多證书:同一 IP 上跑多個站点时,確認預設證书不會把訪客带到错誤站点。

再检查頁面里有没有混合内容

HTTPS 頁面里引用 http 的图片、脚本、样式或 iframe,浏览器會拦截或降級處理。對蜘蛛而言,被拦掉的资源拿不到,渲染出来的頁面结构與预期不一致,可能只看到一個半成品,進而在判断頁面價值时出現偏差。

混合内容的常见来源

  • 編輯器里粘贴的外鏈图片、视频或图床地址
  • 早期模板中硬编碼的 http:// 资源
  • 第三方統計、客服、字体、公共库脚本
  • 站点地图、RSS、结构化資料里残留的 http 連結
  • 從舊站迁移时批量带過来的绝對路径

這些来源有個共同点:它們不在你的主模板里,而是散落在内容正文、组件配置和資料库字段中,所以只在首頁检查通常發現不了。

可以照做的自查與修复顺序

  1. 用命令行工具或在线檢測服務查看證书鏈是否完整,確認中間證书已一並部署。
  2. 為證书設定到期提醒,建议提前 30 天,別依赖“自動續期一定成功”。
  3. 在代碼库和資料库里全局搜尋 http:// 引用,逐條替換為 https 或相對路径。
  4. 確認 http 到 https 的跳轉是單次 301,不要形成多級鏈條。
  5. 检查 HSTS 是否誤開在測試环境或還未完全切換的域名上。
  6. 改完之後抽查几個典型頁面,同时看浏览器控制台和服務器抓取日誌。
證书和混合内容属于“平时無感、出事致命”的一類問题,更适合放進固定巡检清單,而不是等报警了再临时查。

容易踩的细节

  • CDN 與源站證书不同步:源站換了證书,邊缘节点還在用舊的,用戶侧看到的仍是舊證书。
  • 自動續期失敗:驗證文件被規則拦截、目錄權限不對,續期静默失敗,直到過期才被發現。
  • 多节点只更新了一部分:负载均衡後面有几台机器,證书只換了一台。
  • 回源使用 http:内部鏈路看似無所谓,但配置不当时會带来跳轉或资源加载異常。
  • 換證书後没有重载服務:文件已经替換,進程仍然抱着舊證书不放。

處理顺序上,建议先保證“能连上”,再處理“内容一致”。也就是先把證书鏈路和跳轉理顺,让蜘蛛至少能正常拿到响應;然後再逐頁清理混合内容,减少渲染差异。整個過程不需要一次做完,可以按栏目分批推進,每批改完观察一段抓取日誌,確認失敗率下降,再繼續下一批。