站点上线 HTTPS 之後,很多人會預設“加鎖了就没問题”。實际运营中,證书到期、頁面里混着 HTTP 资源、跳轉鏈没理顺,都會让訪客看到安全警告,抓取工具也可能在請求阶段就停下来。這類問题不常發生,但一旦出現,影响面往往覆盖全站,值得放進日常自查清單。
先確認證书本身的有效期和覆盖范围
證书不是装好就一劳永逸。免費證书通常 90 天就要續,商业證书也有一年或两年的期限。建议把到期時間寫進监控,至少提前 14 天提醒,別等到当天才處理。
检查时重点看三件事:
- 證书绑定的域名是否覆盖目前使用的所有域名,包括带 www 和不带 www 的版本;
- 中間證书是否完整,部分客戶端對證书鏈缺失比較敏感;
- 是否使用了通配符或 SAN 證书,新增子域名时能不能被同一張證书覆盖。
如果站点用了 CDN 或负载均衡,證书可能部署在邊缘节点上,也可能在源站各有一份。维護时要確認两邊到期時間一致,避免只換了一邊。
混合内容是更隐蔽的一類問题
HTTPS 頁面里如果引用了 HTTP 的图片、脚本、样式或字体,浏览器會在地址栏给出“不安全”提示,部分资源直接被拦截。訪客看到頁面缺图、样式错乱,体驗很差;抓取时也可能因為资源加载失敗而影响頁面理解。
排查方法不复杂:打開浏览器開發者工具,看控制台和安全面板里的混合内容警告。也可以在全站范围内搜尋 http:// 開头的资源引用,重点检查:
- 文章正文里手動插入的图片地址;
- 模板中寫死的脚本和样式連結;
- 第三方統計、字体、地图等外部资源;
- 舊内容迁移时没有替換的绝對地址。
找到之後尽量改成 https:// 或协议相對地址。如果第三方资源本身不支持 HTTPS,考虑替換服務或改成本地托管。
跳轉和 HSTS 設定要留出退路
從 HTTP 跳到 HTTPS 是常規操作,但跳轉鏈太長會拖慢首次訪問。理想情况是 HTTP 一次 301 到 HTTPS,然後直接返回内容。如果中間還经過 www 跳轉、目錄跳轉,最好合並成一步。
HSTS 可以让浏览器在一段時間内强制使用 HTTPS,减少跳轉次數。但開啟前要確認全站所有子域名都已经支持 HTTPS,否則可能把自己或訪客挡在外面。設定 max-age 时可以從較短時間開始,观察一段時間再逐步加長。
證书更換後的复查動作
換完證书不等于結束。建议按下面的顺序复查一遍:
- 用不同網絡环境訪問首頁和几個内頁,確認没有安全警告;
- 查看證书詳情,確認颁發對象、有效期和域名覆盖正确;
- 打開開發者工具,確認没有混合内容报错;
- 检查 HTTP 到 HTTPS 的跳轉狀態碼和跳轉次數;
- 如果用了 HSTS,確認响應头里的 max-age 和 includeSubDomains 設定符合预期;
- 观察一段時間内的服務器日誌,看是否有大量 TLS 握手失敗或異常請求。
把這些检查寫進上线清單,每次換證书或調整 CDN 配置後都過一遍,能省掉不少临时救火的時間。
HTTPS 不是一次性配置,而是需要定期看一眼的基础设施。把到期時間、混合内容和跳轉設定放在同一個检查表里,問题通常會提前暴露。