HTTPS 早已不是可选项,但证书维护却常被当成“设置一次就不用管”的事情。证书到期不会提前弹窗提醒运营者,等到用户看到浏览器拦截页,或者蜘蛛抓取返回证书错误,问题才暴露出来。证书自查不需要复杂工具,关键是把它变成固定动作。
证书问题会带来哪些连锁反应
证书失效最直接的影响是用户无法正常打开页面,浏览器会显示“连接不安全”的警告。对站点运营来说,这不仅是体验问题:搜索蜘蛛在抓取时遇到证书错误,可能直接放弃本次抓取;已经收录的页面在用户点击后跳转到警告页,也会影响信任和后续访问。更麻烦的是,部分接口、小程序、App 内嵌页也依赖同一张证书,一旦过期,影响范围往往超出网站本身。
证书维护的核心不是“有没有 HTTPS”,而是“到期前有没有人知道、续期后有没有人验证”。
证书自查清单:从域名到链路
1. 到期时间与覆盖范围
先列清楚站点到底用了多少张证书,不要只盯着主域名。常见遗漏包括:
- 主域名与 www 域名是否在同一张证书里;
- 子域名、二级目录、独立站群是否各自有证书;
- CDN、负载均衡、对象存储、邮件服务、API 域名是否单独配置;
- 通配符证书是否真的覆盖了实际使用的三级域名。
把每张证书的到期时间、签发机构、续期方式记录到表格里,标注负责人。纯靠记忆和日历提醒,迟早会漏。
2. 证书链是否完整
浏览器有时会“帮忙”补全缺失的中间证书,但部分客户端、旧设备或抓取程序未必会。证书链不完整时,表现可能是:桌面浏览器正常,手机端或某些工具访问失败。自查时可以用在线检测工具查看证书链,确认服务器返回了完整的中间证书,而不是只返回站点证书。
3. 混合内容与资源引用
页面本身是 HTTPS,但里面还引用 HTTP 的图片、脚本、样式或字体,浏览器会提示“部分内容不安全”,严重时直接拦截。自查时重点检查:
- 模板里是否写死了 http:// 的资源地址;
- 第三方统计、广告、客服脚本是否提供 HTTPS 版本;
- 数据库或后台编辑器中是否存有历史 HTTP 链接;
- 站内跳转和 Canonical 是否统一指向 HTTPS。
4. HSTS 与跳转配置
HSTS 可以让浏览器强制使用 HTTPS,但配置前要确认全站 HTTPS 已经稳定。否则一旦开启,某个子域名没有证书,用户会被直接挡住,连“继续访问”的机会都没有。同时检查 HTTP 到 HTTPS 的跳转是否只有一次 301,避免多次跳转或循环跳转。
5. 多域名与 SNI
同一台服务器上跑多个站点时,SNI 决定了客户端能拿到哪张证书。如果旧客户端不支持 SNI,可能会拿到默认证书,导致域名不匹配。自查时要确认默认证书、各站点证书和服务器配置一致,尤其是新增域名后别忘了同步证书。
把监测做成自动化
人工检查适合梳理现状,日常维护还是要靠自动化。可以按下面几步落地:
- 用监控平台或脚本定期检测证书到期时间,至少在到期前 30 天、15 天、7 天各提醒一次;
- 把证书检测加入现有站点可用性监控,不要单独维护一套;
- 续期后立即做回归验证:浏览器访问、命令行检测、蜘蛛抓取模拟各跑一遍;
- 记录续期操作人和时间,避免多人重复操作或漏操作;
- 如果使用自动续期,也要保留告警,防止续期任务静默失败。
常见误区
- 只看首页:首页证书正常,不代表子域名、CDN 或接口域名正常。
- 续期后不验证:证书更新了,但服务器没 reload,实际返回的仍是旧证书。
- 忽略证书链:只检查到期时间,不检查中间证书是否完整。
- 依赖个人日历:人员变动或休假时,提醒就断了。
- 把 HTTP 和 HTTPS 混着用:内链、Sitemap、Canonical 里还留着 HTTP 地址。
证书自查并不复杂,难的是把它固定成例行工作。把到期时间、覆盖域名、续期方式和验证步骤写清楚,再配上一层自动告警,就能减少大部分因为证书过期导致的访问中断。对站点运营来说,这类基础维护不出问题,本身就是一种稳定收益。