HTTPS 通常被当成一次性配置:装好证书、打开跳转,之后就很少再看。但证书会到期,页面会被人加进 http 资源,CDN 和源站可能各有一张证书。这些问题平时没有存在感,一旦触发就是全站级别的访问异常。
一、证书到期与续期
最基础的动作是确认到期时间,而不是等到浏览器弹出警告才想起。建议记录每张证书的到期日,并在到期前 30 天、14 天、7 天各设一次提醒。
自动续期失败的原因,往往不在证书工具本身,而在验证环节:
- DNS 验证:解析记录被改动、被删除,或新增的解析覆盖了验证记录。
- 文件验证:验证文件放在站点根目录,被清理脚本或改版顺手删掉。
- 端口问题:验证需要走 80 端口,但服务器上做了强制跳转或防火墙拦截。
- 多张证书:同一台服务器上跑了多个域名,只给主域名配了续期任务。
续期成功不等于生效成功。续期后最好重新加载一次 Web 服务配置,再用外部工具确认线上实际返回的证书版本已经更新。
二、混合内容:页面看着正常,浏览器却在报警
混合内容指 HTTPS 页面里加载了 http 资源,比如图片、样式、脚本、字体或 iframe。桌面浏览器有时会自动升级或者静默拦截,看起来没坏,但加载失败的部分会直接影响体验,也容易让蜘蛛抓到的页面与预期不一致。
排查方法不复杂:
- 打开开发者工具的控制台,查看是否有混合内容提示。
- 在页面源码中搜索 http 前缀,逐个确认是外链文字、注释还是真实资源引用。
- 检查 CMS 里保存的旧文章、旧图片地址,这类历史内容最容易被漏掉。
除了页面资源,还要顺手看看内链、Sitemap、RSS 里是否残留 http 开头的地址。协议不统一会让同一批页面出现两个版本,后续统计和维护都麻烦。
三、证书链与被忽略的兼容问题
有些证书在桌面浏览器正常,在部分手机、旧设备或某些客户端上却报错,常见原因是中间证书没有正确配置。只在自己的电脑上测一次,很难发现问题。
可以关注这几点:
- 证书链是否完整,是否把中间证书一并部署。
- 证书覆盖的域名范围,新增子域或换域名前先确认是否包含在内。
- 使用 CDN 时,CDN 侧和源站各有一张证书,两者都要纳入检查范围。
- 多台服务器、多个节点是否都更新到了同一版本。
四、把检查变成固定流程
证书问题很少靠临时反应解决,更适合放进固定的运维节奏里:
- 每月看一次证书到期时间与续期任务状态。
- 每次改版、换服务器、调整 CDN 后,重新走一遍访问检查。
- 把证书到期、跳转异常、混合内容纳入站点监控,出现异常能第一时间知道。
- 保留一份配置文件与操作记录,交接时不用重新摸索。
证书和 HTTPS 不直接决定页面能不能被收录,但它决定了访客和蜘蛛能不能顺利、安全地打开你的页面。把这类平时看不见的环节管好,比事后到处救火省力得多。