为什么把证书和混合内容算作站点运营
证书过期、页面里混着 http 资源,表面看是运维和前端的事,实际影响的是用户从搜索结果点进来后的第一感受。浏览器弹出安全警告,多数人会立刻返回,停留时长和转化都会受影响。部分抓取工具在遇到证书错误时会直接中断请求,日志里就会出现一批没有后续的失败记录。把它列进固定检查项,成本很低,收益是避开那种“整站突然没人来”的意外。
证书层面:四项基本检查
1. 有效期与续期节奏
免费证书通常 90 天有效,商业证书一年起。关键是续期不能靠人记。给证书到期设置提前 30 天的提醒,同时确认自动续期任务真的在跑——不少事故不是忘了续,而是续期脚本早就静默失败了。检查方式是直接看当前证书的生效和失效时间,而不是只看后台那个开关是不是绿的。
2. 域名覆盖是否完整
- 主域名与 www 是否都在证书覆盖范围内;
- 常用子域(m、static、img 等)是共用一张证书,还是各自单独申请;
- 如果前面挂了 CDN,CDN 回源那一段用的证书是否也有效;
- 证书链是否完整,部分老设备和抓取工具对缺失中间证书比较敏感。
3. 证书与访问入口保持一致
同一张证书要能覆盖所有对外提供的访问入口。如果站点有多个域名指向同一套内容,先确认每个域名都能正常握手,再谈规范域名该用哪一个的问题。
4. 换证书时错开高峰
更换证书尽量避开抓取活跃时段,换完后立即抽查验证,别等到用户反馈才发现问题。验证时至少覆盖首页、栏目页和一个详情页。
混合内容:页面里还藏着 http
整站切到 https 之后,最容易漏的是页面内部仍以 http 引用的资源。它们不会让整站崩掉,但会让浏览器把页面标记为“不完全安全”,某些情况下直接阻止资源加载,样式或功能就缺一块。
常见来源包括:
- 老编辑器里写得死死的 http 图片地址;
- 第三方脚本、统计代码、字体服务提供的 http 链接;
- 富文本内容中粘贴进来的外链图片;
- 模板里硬编码的 http 域名,主域改过了,静态资源域却漏了。
处理思路是优先使用相对协议或直接写 https,然后抽查几个内容量大的栏目页,看浏览器控制台是否还有混合内容提示。图片、脚本、样式、iframe 都要覆盖到,不要只看明显的位置。
跳转闭环:别让 http 和 https 互相踢皮球
常见的配置是 http 全站 301 到 https,这个方向是对的。但要检查两件事:一是这个跳转只有一跳,不要出现 http→https→带 www 的 https 这类链路;二是不要出现反向跳回,比如某条规则把 https 又指回了 http,形成循环,用户和抓取都会卡住。
内链和站点地图里的地址也应统一使用 https,避免自己给自己制造一次多余的跳转。
HSTS:好用,但要谨慎
HSTS 能让浏览器在一段时间内强制走 https,减少中间环节被利用的空间。它也有副作用:一旦开启并设置了较长的有效期,想回退到 http 会非常麻烦,被提交到预加载列表后更难以撤销。建议先在测试环境确认全站 https 长期稳定可用,再逐步放开,不要一上来就设很长的 max-age。
把检查变成固定动作
- 每月看一次证书剩余有效期,顺带确认自动续期任务正常执行;
- 每次发版后抽查两三个模板页,确认没有引入新的混合内容;
- 重大改版或更换 CDN 后,重新验证证书链和跳转链路;
- 把证书到期日和负责人写进值班清单,别只存在某个人的记忆里。
证书和混合内容不会天天出问题,但一旦出问题,影响面往往是整站级别的。把它做成月度动作,比出事之后再排查要省事得多。