站点运营

站点运营:HTTPS 與混合内容自查,別让安全警告挡住訪客和蜘蛛

站点装上證书不等于 HTTPS 就做完了,頁面里残留的 http 资源可能让浏览器提示不安全甚至拦截脚本。本文說明混合内容的分類、排查方法、常见来源與修复思路,並给出可以定期执行的巡检清單。

站点运营

站点运营:HTTPS 與混合内容自查,別让安全警告挡住訪客和蜘蛛

站点装好證书、地址栏挂上小鎖,很多人就認為 HTTPS 這件事已经做完了。實际上,只要頁面里還混着几個 http:// 開头的图片、脚本或样式,浏览器就可能把整頁标记為不安全,甚至直接拦截。對訪客来说這是信任問题,對蜘蛛来说則是资源抓取和渲染的不确定性。

什么是混合内容

简單说,就是 HTTPS 頁面里引用了 HTTP 资源。浏览器按風險大致分两類:

  • 被動型:图片、视频、音频等。多數浏览器目前會放行,但地址栏的鎖會變成“不安全”提示。
  • 主動型:脚本、样式表、iframe、字体、XHR 請求等。這些會被直接拦截,頁面样式错乱、功能失效都可能由此而来。
被動内容不等于没有風險,图片和脚本都可能被中間人替換,只是触發拦截的门槛不同。

怎么找出頁面里的混合内容

  1. 用浏览器開發者工具打開控制台,刷新頁面,看有没有 Mixed Content 字样的告警,告警里通常带具体资源地址。
  2. 在 Network 面板按协议篩選,或直接搜尋 http:// 開头的請求。
  3. 抓取几類典型頁面:首頁、栏目頁、文章詳情頁、搜尋结果頁、带表單的頁面。不同模板引入的资源往往不一样。
  4. 把問题地址整理成清單,标出它出現在哪個模板里,方便一次改一片。

如果站点頁面很多,可以先用爬虫工具整站跑一遍,導出所有非 https 的资源引用,再按模板归類。人工一頁頁翻,很容易漏掉只在某篇舊文章里出現過一次的图片。

常见来源與修复思路

歷史内容里的硬编碼連結

早期發布的文章里,图片和附件地址常常是寫死的 http 連結。資料库里做一次批量替換通常最快,但替換前務必备份,並確認目标站点的 https 版本确實可以正常訪問。

第三方脚本與组件

統計代碼、客服插件、评论系統、广告位,這些外部资源如果只提供 http 地址,就會持續报错。優先換成對方提供的 https 版本;如果對方不支持,就需要评估是否值得繼續使用。

相對协议與配置遗漏

把资源寫成 //example.com/a.js 這類相對协议是舊习惯,現在更建议直接寫全 https。還要检查反向代理、CDN 和站内搜尋的配置,有时後端返回的资源地址仍按 http 生成。

證书本身的問题

證书過期、域名不匹配、只簽了主域名却用 www 訪問,都會触發警告。建议记錄到期時間,提前一到两周續期;有多台服務器或 CDN 节点时,確認證书在每一處都已更新。

把自查做成例行動作

  • 每季度至少整站掃一次混合内容,模板或插件升級後再补一次。
  • 把證书到期监控加進告警,別等訪客看到警告才知道。
  • 新頁面發布前,在控制台確認没有新增告警。
  • 關注 HSTS:開啟後浏览器會强制走 https,配置出错时回退比較麻烦,啟用前先确保全站资源都已就绪。

這些检查單次成本不高,但拖久了會變成“這個站看起来不太靠谱”的印象,也會让蜘蛛在抓取时留下額外的失敗记錄。把它当成和备份、日誌一样的基础巡检項目,比出事之後再补救省事得多。