站点运营

站点运营:HTTPS 证书与混合内容自查,别让安全警告挡住抓取与访问

HTTPS 证书过期或页面里混着 HTTP 资源,会让浏览器提示不安全,也可能影响蜘蛛正常抓取。本文从证书有效期、续期提醒、证书链、混合内容、跳转与 HSTS 几个方面,整理一份可执行的自查清单,帮助站点运营者提前发现问题。

站点运营

站点运营:HTTPS 证书与混合内容自查,别让安全警告挡住抓取与访问

HTTPS 早已不是加分项,而是访问的基本门槛。但证书过期、证书链不完整、页面里混着 HTTP 资源,仍然经常发生。对用户来说,浏览器会弹出安全警告;对搜索引擎蜘蛛来说,抓取可能中断或降级。与其等告警邮件来了再处理,不如把 HTTPS 相关检查放进日常运营清单。

一、先看证书有效期与续期机制

证书过期是最常见也最容易避免的问题。可以按下面几步核对:

  • 确认当前证书的到期时间,不要只看部署当天是否正常。
  • 检查自动续期是否真的生效,很多工具只是申请了证书,没有配置续期后的重载。
  • 如果使用通配符证书或多域名证书,确认所有需要覆盖的域名和子域名都在证书里。
  • 设置到期前 30 天、15 天、7 天的提醒,并安排人工兜底。

有些团队换了服务器或迁了 CDN,证书没有同步过去,旧环境到期后新环境也受影响。续期后记得检查 Web 服务是否重新加载了证书文件,否则磁盘上换了,内存里还是旧的。

二、证书链、SNI 与服务器时间

证书本身有效,不代表浏览器就信任。中间证书缺失时,部分客户端会报错,而另一些客户端可能正常,问题很难复现。

  • 用在线工具或命令行检查证书链是否完整,是否包含中间证书。
  • 确认服务器开启了 SNI,尤其是同一 IP 上部署多个 HTTPS 站点时。
  • 检查服务器系统时间是否准确。时间偏差过大,证书会被判定为未生效或已过期。
  • 如果用了 CDN 或负载均衡,确认证书是在源站、CDN 还是两边都部署,避免只更新了一处。

三、混合内容是容易被忽略的坑

页面主文档走了 HTTPS,但里面引用的图片、脚本、样式、字体、iframe 仍然使用 HTTP,这就是混合内容。浏览器会拦截部分资源,或者把地址栏标记为不安全。

排查时可以从这几个入口入手:

  1. 打开浏览器开发者工具,查看 Console 和 Network 里是否有混合内容警告。
  2. 检查文章正文、模板、组件库中硬编码的 http:// 链接。
  3. 检查 CSS 里的背景图、字体文件地址,以及 JavaScript 动态拼接的资源地址。
  4. 检查第三方统计、广告、客服、评论组件的加载地址,尽量使用 HTTPS 版本。

批量替换时注意不要误伤外链或已经废弃的地址,替换后最好全站抽查几个典型页面。

四、跳转与 HSTS 的设置

HTTP 到 HTTPS 的跳转建议使用 301,并尽量一步到位,避免 http 跳到 https 再跳 www 的多级跳转。跳转链越长,蜘蛛和用户消耗的时间越多。

HSTS 可以让浏览器在一段时间内强制使用 HTTPS,但开启前要确认全站和所有子域名都能稳定支持 HTTPS。如果暂时做不到,不要急着加 includeSubDomains 或 preload,否则回退会很麻烦。

证书和跳转属于基础设施,平时没有存在感,一旦出问题就是全站级别。把它们纳入监控,比事后排查更省力。

五、日常自查清单

  • 证书到期前是否有自动续期和人工提醒双重保障。
  • 续期后是否验证了实际生效的证书序列号或指纹。
  • 证书链是否完整,多地访问是否都能正常握手。
  • 页面中是否还存在 HTTP 资源引用,尤其是模板和第三方组件。
  • HTTP 到 HTTPS 是否只有一次 301 跳转,没有多余链路。
  • HSTS 是否在确认全站支持后再开启。

HTTPS 状态正常,不保证内容一定被收录,但至少不会因为安全警告或证书错误,让用户和蜘蛛在门口就被拦下。定期花十分钟检查,比临时救火划算得多。