HTTPS 已经不是什么加分項,而是基本配置。但實际运营中,證书過期、域名不匹配、頁面里混着 http 资源這些問题仍然频繁出現。它們不會让網站立刻打不開,却可能让訪客先看到一屏安全警告,也可能让蜘蛛在抓取时直接报错登出。與其等浏览器提醒,不如把這几項自查放進日常巡检里。
一、證书本身要看三件事
證书問题里,最容易發現的是過期,最容易忽略的是覆盖范围和證书鏈。
1. 有效期與到期提醒
先確認目前證书的到期時間。免費證书通常 90 天,商业證书一年或两年。不要只靠记忆,最好在服務器或监控里設定到期提醒,提前 15 到 30 天触發。如果用了 CDN 或负载均衡,證书可能不在源站上,要分別检查每一层。
2. 域名覆盖范围
检查證书里的 SAN 字段是否包含了你實际在用的所有域名:带 www 和不带 www、主域名和子域名、移動端獨立域名等。如果只簽了主域名,訪問 www 时就會报错。通配符證书能覆盖一級子域,但通常不覆盖多級,比如 a.b.example.com 可能不在范围内。
3. 證书鏈是否完整
有些服務器只装了站点證书,忘了装中間證书。桌面浏览器可能自動补全,但部分移動端、舊客戶端或蜘蛛的抓取程序不一定能补。用在线工具或命令行检查时,如果提示“證书鏈不完整”,就把中間證书补上。
二、混合内容:最容易被漏掉的一類
混合内容指的是 https 頁面里加载了 http 资源。浏览器對它的處理越来越嚴格:图片、脚本、样式、字体、iframe 都可能被拦截或降級,地址栏的鎖形图标也可能消失。
常见的来源有:
- 早年上传的图片,地址還是 http 開头;
- 引用了外部 CDN 上的舊版 JS 库或字体文件;
- 統計代碼、客服组件、视频嵌入代碼没有同步改成 https;
- 資料库里存的文章正文包含 http 連結;
- 站点地图或 RSS 里给出的地址仍是 http。
排查时,打開浏览器開發者工具的控制台,刷新頁面,看有没有 Mixed Content 警告。也可以直接搜尋資料库或模板文件里的 http:// 字符串。注意不要简單全局替換,先確認哪些是外部域名、哪些是自己站内的舊地址,再分別處理。
混合内容不一定阻止蜘蛛抓取,但它會让頁面在部分环境下加载失敗,訪客看到的可能是残缺的排版或空白区块。
三、http 到 https 的跳轉入口
如果同一份内容既能用 http 訪問,又能用 https 訪問,就多了一個重复入口。建议把 http 统一 301 到 https,並且尽量一步到位,不要先跳到 www 再跳 https,或者先跳 https 再跳 www。多重跳轉既拖慢訪問,也让抓取路径變复杂。
確認好最终使用的規范域名後,把其他组合都指向它。如果條件允许,可以配置 HSTS,让浏览器在一段時間内强制使用 https,减少中間人攻击和重复跳轉。但 HSTS 要谨慎開啟,確認所有子域都支持 https 之後再上,否則可能把自己挡在门外。
四、對抓取的實际影响
證书错誤和混合内容對蜘蛛的影响不太一样。證书過期、域名不匹配、證书鏈不完整,通常會让抓取請求直接失敗,蜘蛛看到的是一個错誤頁,而不是你的内容。混合内容則更多影响渲染和体驗,如果關键脚本被拦截,頁面可能顯示不全。
另外,如果服務器同时监听 80 和 443,但跳轉規則寫错,蜘蛛可能反复在 http 和 https 之間来回,浪費抓取频次。定期看服務器日誌里 4xx、5xx 和跳轉狀態碼的分布,能發現這類問题。
五、一份可以照着做的自查清單
- 检查證书到期時間,確認提醒机制已经生效。
- 確認證书覆盖了所有實际使用的域名和子域名。
- 用工具检查證书鏈是否完整。
- 打開開發者工具,看控制台有没有混合内容警告。
- 搜尋模板、資料库和配置里的 http 連結,逐條確認。
- 確認 http 到 https 的跳轉是一步完成,没有多余跳轉。
- 如果啟用了 HSTS,確認所有子域都能正常用 https 訪問。
- 在服務器日誌里观察證书错誤和跳轉相關的狀態碼變化。
這些检查不需要一次全做完,可以拆成每周或每月的小項。證书類的故障往往不是突然出現,而是到期前就埋下了提醒。把到期時間、跳轉規則和混合内容当成常規巡检的一部分,比等浏览器彈出警告再补救要從容得多。