站点运营

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

HTTPS 上线并不等于一劳永逸。证书会到期、自动续签可能悄悄失败,页面里混入的 http 资源也会触发浏览器拦截。本文梳理证书有效期、域名覆盖、混合内容来源与跳转一致性的检查方法,帮助把协议问题纳入例行自查,减少访客和蜘蛛在门口就被劝退的情况。

站点运营

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

站点换到 HTTPS 之后,很多人就把它当成一件已经完成的事。实际上证书会到期,外链资源会失效,页面里混进一个 http 地址就可能触发浏览器的安全提示。这些问题平时不显眼,一旦集中出现,影响的往往是访客的第一印象和蜘蛛的抓取路径。

为什么证书问题容易被忽略

证书通常按年续签,中间有大段时间不出问题,值班的人也就不会主动去看。等到提醒邮件被归进垃圾箱,或者自动续签脚本因为验证方式改动而失败,问题才会暴露。表现可能是整站打不开、部分浏览器报错,也可能只是某个子域名不受信任。

证书层面要关注的几项

  • 有效期与续签:确认到期日,确认自动续签任务确实跑过,而不是只配置了没验证。
  • 域名覆盖:主域名、www 以及各子域名是否都在证书的覆盖范围内。
  • 证书链完整:中间证书缺失时,部分客户端会直接判为不可信。
  • 服务器时间:系统时间偏差过大,会让证书校验失败。

混合内容的常见来源

混合内容指 HTTPS 页面里加载了 http 资源。浏览器会拦截或降级处理,页面就可能出现样式错乱、图片不显示、脚本失效。

  • 早期文章里粘贴的外链图片,地址仍是 http。
  • 模板或第三方组件里的 CDN 链接没有同步更新。
  • 字体文件、图标库、统计脚本走的是旧协议。
  • iframe 嵌入的视频或地图地址。
  • 表单 action 指向 http 地址。

排查时可以先打开浏览器开发者工具的控制台和网络面板,筛选 http 开头的请求;也可以批量抓取页面 HTML,用脚本筛出其中的 http 链接。

容易漏掉的几处配置

  • 站点地图里记录的地址是 http 版本。
  • canonical 标签、og:url、结构化数据里的链接协议不统一。
  • 站内搜索或筛选功能拼接出来的链接仍是旧协议。
  • 邮件模板、RSS 输出里的链接。

这些位置不一定影响页面渲染,但会让同一份内容出现两个协议版本,给规范链接的判断添麻烦。

跳转与一致性处理

http 到 https 应当使用 301 跳转,并在服务器层面统一处理,而不是靠页面里的 JS 跳转。同时要确定 www 与非 www 谁是主版本,另一侧做 301。多条跳转串在一起会消耗抓取预算,能一次跳到位就不要分两步。

HSTS 可以强制浏览器后续只用 HTTPS 访问,但开启前要确认所有子域名都能正常提供 HTTPS,否则会把自己挡在门外。

一份简单的自查顺序

  1. 查看证书到期时间和域名覆盖,确认自动续签任务有执行记录。
  2. 用不同浏览器打开首页和几个典型内页,看是否有安全提示。
  3. 打开开发者工具,筛出仍在加载的 http 资源并逐条替换。
  4. 检查站点地图、canonical、结构化数据里的链接协议。
  5. 验证 http 与 www 的跳转是否为一次 301。
  6. 把检查项写进例行清单,在证书到期前留出足够时间。
证书和协议问题往往不是技术难题,而是缺少一次定期确认。把它纳入固定检查项,比出问题后再排查省事得多。