站点上线后,很多人会把 HTTPS 当成一次性配置:证书装好、绿锁出现,就认为这块不用再管了。实际上证书会过期、CDN 会换节点、页面里会不知不觉混进 http 资源,这些问题往往先被浏览器或搜索蜘蛛遇到,而不是运维自己发现。把这部分做成定期自查项,成本不高,能省掉不少突发工单。
证书不是装完就完事
证书有有效期,免费证书通常只有 90 天。如果续期脚本失败,或者到期后忘了替换,浏览器会直接给出拦截页,用户点「继续访问」的比例很低,搜索蜘蛛也会在抓取时遇到握手失败,把这段时间记为不可访问。
- 确认证书覆盖的域名:主域名、www、子域名、泛域名是否都在有效期内。
- 确认中间证书链完整,避免只在部分设备或部分网络下报错。
- 给到期日设置提前 14 天以上的提醒,不要把自动续期当作唯一保险。
- 换证之后,检查服务器、CDN、负载均衡三处是否都更新到位。
混合内容是更隐蔽的问题
页面本身走 HTTPS,但里面引用了 http 的图片、脚本、样式或字体,这类情况叫混合内容。图片通常只是不显示或出现提示,而脚本和样式被拦截后,页面可能直接变形,甚至交互失效。
常见的几个来源
- 编辑器里粘贴的旧图片地址,仍然带着 http。
- 第三方统计、客服、广告代码提供的还是 http 版本的脚本。
- 模板里写死的字体或图标库地址。
- 接口返回的数据中夹着 http 图片链接。
排查方式很直接:打开浏览器开发者工具,看控制台和网络面板里有没有被拦截或标红的请求,把协议补成 HTTPS,或者改成相对路径。数据里的图片链接,最好在入库或输出时统一处理,而不是每次都靠前端替换。
跳转与 HSTS 要配置一致
如果 http 和 https 两套地址都能正常打开,就等于同一内容有了两个入口。合理的做法是让 http 稳定跳转到 https,并且只保留一个规范版本(带 www 或不带 www 选其一),不要让跳转链来回绕。
HSTS 能让浏览器在一段时间内强制使用 HTTPS,减少跳转次数。但它也有代价:一旦设置,短期内无法降级回 HTTP,调试时会比较麻烦。建议先用较短的 max-age 验证,确认全站资源都没问题后再逐步加长。
一份可以直接照做的自查清单
- 用不同域名前缀分别访问,确认都能打开且最终落到同一个地址。
- 检查证书到期时间、域名覆盖范围与证书链完整性。
- 在开发者工具里过一遍控制台报错和混合内容警告。
- 抽查首页、栏目页、详情页、搜索结果页各一到两个,覆盖不同模板。
- 确认 CDN 有独立证书,且回源方式与源站配置一致。
- 把检查频率写进运营日历,到期前和换证后各执行一次。
安全配置属于基础项,做得对的时候没人注意,出问题时却是整站级别的。别等用户反馈打不开才开始查证书。