HTTPS 現在基本是站点的标配,配置完成之後很多人就不再管它。但證书是有有效期的,頁面里的资源連結也可能在改版时被換回 http,這些變化平时看不出来,等浏览器彈出「不安全」提示的时候,损失的往往是已经点進来的訪客。
證书到期:最容易预测也最容易忘
免費證书的有效期通常在 90 天左右,商业證书也大多不超過一年。到期当天站点不會立刻完全打不開,多數浏览器會先顯示一個需要手動点击「繼續訪問」的拦截頁,移動端和部分内嵌浏览器則可能直接中断請求。對訪客来说,這跟打不開没什么区別。
- 確認證书到期時間,並設定提前 15 到 30 天的提醒;
- 如果用了自動續期,检查續期任務是否真的执行成功,而不是只看配置文件;
- 多域名和泛域名證书要核對覆盖清單,新增子域後別忘了补進去;
- 續期後重啟或重载 Web 服務,避免新證书没被加载。
混合内容:警告的常见来源
頁面本身是 https,但里面引用了 http 的图片、脚本、样式或字体,浏览器會把這部分内容拦下来,地址栏的鎖标志也可能消失。改版、換图床、接入第三方統計时,最容易出現這種情况。
怎么找出来
打開浏览器開發者工具,切到控制台或網絡面板,篩選 http 開头的請求;也可以在頁面源碼里搜尋。定位到之後,把资源地址改成相對协议或直接寫 https,前提是對方也支持 https。
顺手检查這几處
- 正文編輯器里粘贴進来的外鏈图片;
- 模板和主题里寫死的 CDN 地址;
- 第三方統計、客服、字体服務的脚本;
- 舊文章里遗留的资源引用。
證书鏈、SNI 與域名覆盖
有些證书在桌面浏览器正常,在部分安卓机型或舊客戶端上却报错,原因多半是中間證书没配全。可以用在线的 SSL 檢測工具跑一遍,看證书鏈是否完整、支持的协议版本是否過于老舊。
另外要確認證书里的域名和訪客實际訪問的域名一致。带 www 和不带 www、不同子域、IP 直连,都可能落到不同的配置上,出現「首頁正常、内頁报警」的怪現象。
强制跳轉與 HSTS
把 http 全量 301 到 https 是常規做法,但要注意跳轉不要形成循环,也不要让跳轉鏈超過一层。HSTS 能让浏览器在指定時間内直接走 https,减少一次跳轉,不過開啟前要確認全站包括子域都已经稳定支持 https,否則可能把自己挡在门外,且回退起来比較麻烦。
還需要留意的是,跳轉規則如果只寫在某個虚拟主机配置里,新加的域名或子域可能不在規則覆盖范围内,出現能訪問但不跳轉的漏洞。
日常自查清單
- 查證书剩余有效期和覆盖域名;
- 用開發者工具掃一遍頁面里的 http 资源請求;
- 核對 http 到 https 的跳轉是否只有一跳、是否覆盖全部域名;
- 检查頁面與模板中是否寫死了某個协议;
- 用手机和不同浏览器各訪問一次首頁與内頁;
- 把證书到期時間登记到运维日歷里。
這些检查不需要多深的技術背景,但需要固定下来、定期做一遍。比起出事之後临时排查,提前十分钟的核對要省事得多。
提示:證书和协议配置属于基础环境問题,處理完並不等于内容會被收錄或排名提升,它解决的是訪客能不能顺利打開頁面。