NAT 与发布75 条

发布证书管理

证书到期与链不完整是发布故障的高频原因;建立清单、到期提醒与替换流程可避免上线当天才发现问题。

安全设备配置速查安全更新于 2026-10-13

证书管理的核心两件事

发布类故障里,证书到期与证书链不完整出现频率很高。前者可以靠清单与到期提醒避免,后者常在证书替换时才暴露:只装了服务器证书却漏装中间证书,部分客户端会报不受信任。把证书当成配置资产纳入台账,问题就从「上线当天救火」变成例行维护。

基本信息

适用平台对外发布的 HTTPS 站点、VPN、设备管理页面
清单字段域名、签发机构、到期日、部署位置、责任人
链完整性服务器证书 + 中间证书按顺序提供,根证书一般由客户端内置
检查工具openssl s_client 与 x509 命令,或浏览器与在线检查工具

典型使用场景

  • 到期前检查:批量核对所有对外域名的剩余有效期,避免夜间集中过期
  • 证书替换:更换签发机构或新增域名后,确认链完整且域名匹配
  • 设备管理面替换:把自签名证书换成内部 CA 签发证书,消除浏览器告警
  • 多机部署同步:负载均衡后多台服务器都需替换,遗漏一台就会出现随机告警
  • 自动化续签失败兜底:续签脚本报错时仍需有人能看到并处理

命令行检查示例

命令行检查示例
# 查看证书主体与有效期
 echo | openssl s_client -connect portal.example.com:443 -servername portal.example.com 2>/dev/null | openssl x509 -noout -dates -subject
# 查看校验结果(返回 0 表示链完整可信)
 echo | openssl s_client -connect portal.example.com:443 2>/dev/null | grep -i 'verify return code'
# 查看服务实际使用的证书链层数
 echo | openssl s_client -connect portal.example.com:443 -showcerts 2>/dev/null | grep -c 'BEGIN CERTIFICATE'

常见故障与原因

现象原因处理
浏览器报不受信任中间证书缺失或顺序错误补全链并按顺序配置
部分客户端报错客户端未内置该根证书改用通用 CA 或补发根证书
访问提示证书域名不匹配站点用了其他域名的证书重新签发或配置 SNI
续签后仍报旧到期日服务未重载,仍在用旧证书重载服务并再次验证
到期时间提前 30 天进入提醒清单,自动续签必须有告警通道;归档旧证书与私钥,便于回滚和事故复盘。

易错点

  • 只检查主证书是否有效,忽略中间证书,导致部分客户端报不受信任而现场难以复现
  • 证书文件替换后没有重载服务,验证时看到的仍是旧证书的到期时间
  • 负载均衡后多台服务器只换了一台,表现为随机出现证书告警
  • 把私钥明文放在共享目录或工单里流转,等于给业务埋了泄密风险

数据来源与参考

  • RFC 5280(X.509 证书与 CRL 规范)
  • OpenSSL 官方文档:s_client
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌