站点运营

站点运营:HTTPS 与证书自查,别让过期证书和混合内容拖住抓取

HTTPS 装好之后最容易被遗忘。证书会过期,自动续期可能悄悄失败,页面里残留的 http 资源还会造成混合内容。本文给出一份可执行的证书与混合内容自查清单,从到期时间、域名覆盖、跳转链路到资源替换,帮你把这件基础设施类的事放进日常巡检。

站点运营

站点运营:HTTPS 与证书自查,别让过期证书和混合内容拖住抓取

为什么 HTTPS 问题容易被忽略

站点跑起来之后,HTTPS 往往是最不被想起的一环。证书装好那天能用,之后很少有人再点开地址栏看那把锁。可证书是有有效期的,通常 90 天到一年不等;自动续期的脚本也可能因为某次服务器迁移、权限变更或目录调整而静默失败。等到证书过期,最先感知到的可能不是你,而是访客看到的安全警告,以及抓取工具在握手阶段就断掉的连接。

比过期更隐蔽的是混合内容:页面本身走 HTTPS,但里面仍引用着 HTTP 的图片、脚本、样式或 iframe。浏览器会把这类资源当作不安全内容拦截或降级,结果就是图片不显示、样式错乱,蜘蛛看到的页面和你想让它看到的并不一样。

一份可执行的证书自查清单

1. 到期时间与续期状态

  • 记录当前证书的签发时间和到期时间,把提醒设在到期前 30 天,而不是前 3 天。
  • 确认自动续期任务真的在跑,查计划任务或定时器,看最近一次续期日志,不要只看配置文件还在。
  • 续期成功后重新加载 Web 服务,确认新证书已生效,旧证书没有残留在缓存里。

2. 域名覆盖范围

  • 核对证书的 SAN 列表,确认裸域、www 域以及实际在用的子域名都在里面。
  • 如果用了泛域名证书,注意它一般只覆盖一级子域,多级子域要单独确认。
  • 站点实际访问的域名和证书里的域名要对得上,避免访客被提示证书不匹配。

3. 证书链是否完整

有些服务器只装了站点证书,漏掉中间证书。桌面浏览器可能自动补齐,但部分客户端和抓取工具会直接判定证书不可信。可以用在线检测工具或命令行查看完整的证书链,确认没有缺口。

4. 跳转链路是否干净

  • HTTP 应一次性 301 到 HTTPS,避免 http 到 https、再到带 www 或不带 www 的多级接力。
  • 检查是否仍有页面用 302 跳 HTTPS,临时跳转不利于地址统一。
  • 确认跳转后的地址、canonical 标签和 sitemap 里的写法一致,都使用 https 前缀。

5. 混合内容排查

  1. 打开几个代表性页面,用浏览器开发者工具的控制台和网络面板,筛选出 http 开头的请求。
  2. 重点看历史文章里的外链图片、旧编辑器粘贴进来的 iframe、第三方统计或客服脚本。
  3. 能替换的资源换成 https,替换不了的直接下线或改成文字链接。
  4. 在页面模板层面统一使用 https 绝对地址,减少以后再出同类问题。

几个容易踩的细节

HSTS 可以强制浏览器走 HTTPS,但开启前要确保所有子域名都已支持 HTTPS,否则会把还没配好的子域直接锁死。建议先用较短的有效期试运行,观察一阵再延长。

证书续期不会自动帮你改内容。如果站内大量内链、图片地址还写着 http,续期再成功也救不了混合内容。

测试环境和正式环境共用证书、共用配置的情况不少。改动前先确认影响范围,别把测试站的问题带到主站。

证书和 HTTPS 属于基础设施,平时不出声,一出问题就是全站级别的。把它放进日常巡检,比出事后再救火省事得多。

把它变成例行检查

  • 每月看一眼证书剩余天数,自动续期成功也要人工确认一次。
  • 每次改版、换服务器、换 CDN 之后,重新跑一遍跳转和混合内容检查。
  • 把 https 写进模板和编辑规范,新内容发布时就不会再带回 http 资源。

这些检查花不了多少时间,却能把一类常见的抓取和访问故障挡在门外。站点运营里很多工作都是这样:不追求立竿见影,只求别在关键时刻掉链子。