HTTPS 证书不像栏目内容那样天天有人盯着,但它一旦出问题,后果往往很直接:访客看到整页红色警告,蜘蛛抓取失败,页面加载被浏览器中断。证书有有效期,配置又分散在服务器、CDN、反向代理等多处,任何一处漏掉,都可能让整站“看起来打不开”。下面整理一份可以照着做的证书与混合内容自查清单。
证书出问题的三种常见表现
- 证书已过期:浏览器直接拦截,访客必须手动点“继续访问”,多数人会直接离开。
- 证书链不完整:桌面浏览器可能正常,但部分手机、旧客户端或抓取程序报错,表现为时好时坏。
- 混合内容:页面能以 HTTPS 打开,但里面还引用了 HTTP 的图片、脚本或样式,浏览器会降级提示或直接拦截这些资源。
有效期与续期机制自查
记录到期时间
把主域名、子域名、CDN 上单独托管的证书到期日集中记在一处,并设置提前提醒。免费证书通常 90 天一轮,容易在忙碌期被忽略。
自动续期不等于不会失败
- 确认续期脚本真的在跑,而不是只在部署那天成功过一次。
- 检查续期后是否自动重载了 Web 服务,有些环境证书更新了但进程没重新加载,线上仍是旧证书。
- 域名解析、验证文件路径、防火墙放行规则变更,都可能让自动验证失败,需要留意续期日志。
混合内容排查
打开浏览器开发者工具的 Console 与 Network 面板,筛选出仍以 http:// 加载的资源。常见来源包括:老文章里硬编码的图片地址、第三方统计脚本、外链字体、模板里写死的 CDN 域名。
- 能改协议的优先改成相对协议或直接 https。
- 对方站点不支持 HTTPS 的资源,考虑下载到本地或替换为站内资源。
- 数据库里的存量文章,可以用统一替换处理,但要先备份再批量操作。
证书覆盖范围与域名
检查 SAN 列表
确认证书里包含的域名清单,是否覆盖了带 www 与不带 www 两个版本,以及所有还在对外提供服务的子域名。漏掉一个子域,访问它时就只能报错。
多域名与通配符的选择
子域较多时,通配符证书省事,但通常只覆盖一级子域,二级子域需要单独确认。多域名证书则要注意续期时是否把所有域名都带上。
跳转、HSTS 与端口
- HTTP 到 HTTPS 的跳转应统一到 HTTPS,避免出现 https 跳到 http 再跳回来的循环。
- 开启 HSTS 前,先确认所有子域都已支持 HTTPS,否则会导致部分子域彻底无法访问。
- 检查证书绑定的端口与容器映射是否一致,改过端口后容易出现 443 上挂着别的服务。
建议的巡检节奏
- 每月看一次证书到期时间与续期日志,确认没有临近到期却未续的证书。
- 每次发布新版模板或调整 CDN、反代配置后,抽查首页、栏目页、详情页的混合内容。
- 新增子域名或新开服务时,顺手确认它是否在证书覆盖范围内。
- 用不同设备与网络环境各访问一次,排除只对特定环境报错的证书链问题。
证书问题属于“平时没感觉、出事就很集中”的一类故障。把它纳入日常巡检,成本很低,但能避免访客和抓取程序在门口就被挡住。