HTTPS 早就是标配,但标配不等于没毛病。证书到期、域名不匹配、页面里混着 http 资源,这些问题在浏览器里可能只是一个小锁头变红,在蜘蛛那边却可能直接变成抓取失败。做站点运营,把 HTTPS 状态当成一项例行检查,比等收录掉了再回头排查要省事得多。
先确认几个最容易出问题的点
- 证书有效期:很多故障不是被攻击,而是单纯忘了续期。免费证书有效期短,更要提前留意。
- 域名覆盖范围:证书签的是 www 还是裸域,是不是通配符,带不带子域名,要跟实际使用的地址对上。
- 证书链完整:部分客户端只信任完整链,缺中间证书时,浏览器能打开、爬虫却可能报错。
- 混合内容:页面本身是 https,但图片、脚本、样式表仍走 http,浏览器会提示不安全,部分资源可能被拦。
- http 与 https 并存:两个版本都能打开,站内链接和 sitemap 里又各写一半,等于把同一份内容拆成两套地址。
自查可以按这个顺序走
- 打开证书详情,确认签发对象、有效期、颁发机构,并设置到期前的提醒。
- 用几个不同的访问入口测试:裸域、www、带路径的内页,看是否都能正常握手。
- 随机抽若干内页,查看控制台或抓包结果里有没有 http 资源请求。
- 检查 http 版本的跳转是否为一次到位的 301,而不是多级跳转或纯 JS 跳转。
- 确认 sitemap、canonical、站内链接、外链投放地址统一使用同一个协议和域名形态。
- 如果用了 CDN,单独确认 CDN 侧证书是否同步更新,别只续了源站。
混合内容怎么处理
混合内容常见于老文章里的图片和附件,靠人工一篇篇改效率太低,可以先从模板和公共资源入手:把站点公共的脚本、样式、字体统一改成相对协议或 https 绝对地址,再处理内容库里的存量外链资源。图片如果来自第三方且不支持 https,优先下载到本站,顺便也减少了外部依赖。
一个实用的判断方法:把页面地址里的 https 手动改成 http 再访问,观察跳转和资源加载是否正常。能顺利跳到 https 且资源不报错,说明这一段基本没问题。
别忘了 HSTS 和回滚余地
HSTS 能让浏览器强制走 https,但一旦开启,回退到 http 会变得麻烦。建议先设置较短的 max-age 观察一段时间,确认全站资源都没问题后再逐步加长。同时把证书、私钥、部署脚本做好备份,续期或者更换证书时留出回滚方案。
把检查变成日常
这件事不需要每天都做,但适合放进月度或季度的运营清单:证书到期时间、跳转是否正常、内页有无混合内容、协议写法是否统一。把它和服务器监控、抓取日志一起看,出问题时能更快定位到底是证书、跳转还是资源加载的锅。