证书已经续期,为什么CDN、负载均衡和部分服务器仍在使用旧证书?

举报
yd_218044062 发表于 2026/09/23 18:49:25 2026/09/23
【摘要】 “续期完成,但外网仍能看到旧证书”是一个典型的部署链路问题。新证书的文件已经存在,并不代表运行中的TLS终止点都已经读取它。排查时不要只比对证书文件名,也不要先清浏览器缓存;应先记录外部连接实际收到的证书指纹,再逐层定位旧版本在哪一段链路上被返回。排查的核心对象是证书指纹同一域名可能有多份PEM文件、多张历史证书和多个入口。文件名往往会被覆盖或复用,只有序列号和指纹能准确说明客户端拿到的是哪...

微信图片_20260923164805_992_4.png

“续期完成,但外网仍能看到旧证书”是一个典型的部署链路问题。新证书的文件已经存在,并不代表运行中的TLS终止点都已经读取它。排查时不要只比对证书文件名,也不要先清浏览器缓存;应先记录外部连接实际收到的证书指纹,再逐层定位旧版本在哪一段链路上被返回。

排查的核心对象是证书指纹

同一域名可能有多份PEM文件、多张历史证书和多个入口。文件名往往会被覆盖或复用,只有序列号和指纹能准确说明客户端拿到的是哪一张证书。先从公网记录新旧两张证书的SHA-256指纹、序列号和到期日,再把同一组信息用于CDN、负载均衡和源站逐点比对。

openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -serial -fingerprint -sha256 -dates

该命令中的-servername用于发送SNI。没有它,多域名服务可能只返回默认证书,导致结论错误。

把访问链路画出来 再决定从哪里查

一次HTTPS访问未必会到源站。常见链路是:DNS解析到CDN边缘,CDN回源到负载均衡,负载均衡再转发给网关或应用服务器。任何一层终止TLS的地方,都可能保存独立证书。

位置

如何判断是否终止TLS

常见旧证书原因

CDN边缘

用户直接连接CDN域名或边缘IP

新证书未关联域名,区域部署未完成

负载均衡

HTTPS监听器配置了证书对象

监听器或SNI规则仍引用旧版本

API网关或WAF

入口独立处理HTTPS请求

控制台上传成功,但没有发布配置

反向代理或Web服务器

Nginx、Apache等监听443端口

文件替换后未reload,或路径引用错误

Ingress控制器

Kubernetes入口引用Secret

Secret更新后控制器或挂载未刷新


四组比对可以快速缩小范围

• 公网域名与源站IP:域名返回旧、源站返回新,优先检查CDN或负载均衡。

• 同一服务的不同后端IP:有的IP新、有的IP旧,说明集群同步不一致。

• 带SNI与不带SNI:带SNI新、不带SNI旧,多半是默认监听器证书不同。

• IPv4与IPv6:A记录路径新、AAAA记录路径旧,需要检查IPv6入口或对应的CDN配置。

这四组结果比“网页能否打开”更有价值。网页内容相同,并不代表TLS证书相同;浏览器最终显示的是它所连接节点返回的证书。

逐点检查时 容易被遗漏的细节

一 负载均衡证书对象与监听器绑定是两件事

不少云平台允许先上传证书,再选择是否绑定到监听器。上传动作成功,只说明证书对象在控制台中存在;只有HTTPS监听器、域名规则或SNI规则引用了新对象,访问入口才会更新。多证书场景应同时检查默认证书和每个域名规则。

二 reload必须有可验证结果

将新证书覆盖到磁盘后,服务进程未必自动重载。部署脚本应记录配置校验、reload返回码和服务日志。之后再从该节点对外发起TLS连接并比对指纹,不能只根据脚本执行结束就判断成功。

三 CDN不是浏览器缓存问题的代名词

浏览器缓存通常不决定TLS握手中服务器发出的证书。若不同网络、不同地域持续拿到旧证书,更应关注CDN边缘的证书关联和部署状态。可以从外部网络分别执行证书指纹检查,确认问题是否集中在某个区域。

四 容器环境要看实际引用关系

Secret更新并不总能保证所有Ingress和Pod立刻使用新内容。应确认运行中的Ingress引用的Secret名称、命名空间以及控制器的刷新状态。若存在多个集群或灾备环境,也要检查它们是否由同一套自动化任务覆盖。

把验证纳入续期任务

自动化续期的闭环至少应包含:申请新证书、分发到所有目标、绑定到入口、重载服务、外部探测和异常告警。缺少最后两步时,团队只能知道“任务成功”,却无法知道用户是否真的拿到了新证书。

GlobalSign ACME服务可配合ACME客户端完成证书生命周期中的自动化签发和更新。企业在设计部署钩子时,应明确CDN、负载均衡、网关、服务器和容器入口中哪些位置需要执行更新,避免自动化只覆盖其中一台机器。

结语

旧证书问题并不神秘。先用指纹确认真实现象,再沿着“公网入口、CDN、负载均衡、网关、服务器、容器”的顺序逐点比对,通常就能定位是哪一层仍然引用了旧版本。真正的续期完成,应该以所有预期路径返回新证书为标准。

参考资料

• GlobalSign ACME产品资料:https://globalsign.cn/resources/datasheets/ACME_Datasheet_Updated_06_20_2024_Final.pdf

• GlobalSign Atlas Discovery和证书管理:https://www.globalsign.cn/atlas-discovery-certificate-management

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。