HTTPS 与证书:过期那天全站打不开

证书配上去只是开始。本文说明混合内容为什么让小锁消失、证书到期如何提前发现、以及自动续期失败的几种常见原因。

要点速览
  • 页面走 HTTPS 但引用了 HTTP 资源会触发混合内容,小锁消失甚至资源被拦截。
  • 富文本里存的外部图片链接改模板改不到,需要在数据库层面批量处理。
  • 自动续期会因验证方式变更、解析调整、服务器重建等原因静默失败。
  • 到期检查必须独立于续期机制,否则脚本挂掉时两者一起失效。
  • 接口与静态资源域名的证书过期最隐蔽:网页能打开,但数据全部加载失败。

HTTPS 现在是默认要求,配置本身也不复杂。真正出事的是两类情况:配好了但页面上仍显示不安全,以及某天早上证书过期、全站打不开,而没有任何人提前知道。

混合内容:小锁消失的原因

页面本身走 HTTPS,但里面引用的图片、脚本或样式仍是 HTTP 地址,浏览器就会降级提示甚至直接拦截。最常见的来源是编辑在后台粘贴的外部图片链接、以及早年写死在模板里的第三方脚本地址。

排查办法是打开浏览器控制台看警告,它会逐条列出哪些资源走了 HTTP。批量处理时要注意数据库里存的富文本内容 —— 那部分不在代码里,改模板是改不到的。

全站跳转要做彻底

  • HTTP 访问一律 301 到 HTTPS,包括带 www 和不带 www 的两套;
  • 跳转要一步到位,避免 HTTP 跳 HTTP 的 www 再跳 HTTPS 这种两级跳;
  • 内部链接直接写 HTTPS 或使用相对路径,不要依赖跳转来纠正;
  • sitemap、规范链接标签、结构化数据里的地址都要是 HTTPS 形式。

到期监控比续期配置更重要

自动续期是常态,但它会失败 —— 验证方式变更、域名解析调整、续期脚本所在服务器被重建、磁盘满了导致写入失败。这些都不会主动告警,直到证书真的过期。

应当有一个独立于续期机制的到期检查:定时从外部请求站点、读取证书有效期、剩余天数低于阈值就告警。独立是关键 —— 如果检查和续期是同一套脚本,脚本本身挂掉时两者一起失效。

容易漏掉的几个域名

主站的证书通常有人管,而接口域名、后台域名、静态资源域名、以及测试环境常常各自配置、各自过期。做一张清单列出所有对外提供服务的域名,逐个纳入监控。接口域名证书过期的表现尤其隐蔽:网页能打开,只是所有数据加载失败。

这几项我们在企业官网定制交付时会一并配置并写进运维说明,具体安排见合作流程。

常见问题

网站显示不安全是什么原因?

最常见是混合内容:页面本身走 HTTPS,但引用的图片、脚本或样式仍是 HTTP 地址。打开浏览器控制台可以逐条看到。注意数据库里富文本内容中粘贴的外部链接,改模板无法覆盖这部分。

证书自动续期了还需要监控吗?

需要,而且监控必须独立于续期机制。验证方式变更、域名解析调整、续期脚本所在服务器被重建都会导致静默失败。建议从外部定时请求站点读取证书有效期,剩余天数低于阈值就告警。

哪些域名容易漏掉证书管理?

接口域名、后台域名、静态资源域名和测试环境。接口域名证书过期的表现特别隐蔽——网页能正常打开,只是所有数据加载失败,排查时容易往后端代码方向找。应当列一张对外服务域名清单逐个纳入监控。

参考资料

  1. Cloudflare SSL/TLS Documentation · Cloudflare
  2. HTTPS – Advanced Administration Handbook · WordPress.org
# HTTPS# 证书# 运维# 网站安全
免费咨询

聊聊你的项目

留下联系方式,我们一个工作日内联系你。先沟通需求和现状,再给方案;报价当面沟通。

  • 一个工作日内回复
  • 需求沟通免费,不强推方案
  • 交付管理后台与文档,可自行维护
仅用于本次咨询联系,不会用于其他用途。