服务公告

服务公告 > 技术教程 > 用 openssl 自检证书与链路加密

用 openssl 自检证书与链路加密

发布时间:2026-01-13 11:56
## 场景 证书类故障的表现往往颇具迷惑性:桌面浏览器一切正常,某些客户端却报证书错误;明明还有一个月才到期,服务突然拒绝握手;换了新证书,部分访问反而开始报警。openssl 自带的客户端工具能直接看到握手过程与证书链的原始细节,是这类问题的第一诊断工具,不需要安装任何第三方软件,每台云服务器上都有。 ## 步骤清单 连上目标端口看证书全貌。 ``` openssl s_client -connect example.com:443 -servername example.com ``` 输出里依次看三块:证书链是否完整、各级证书的主题与颁发者、有效期起止。加 -brief 参数输出精简版,快速扫多个域名时好用。只想看到期时间,配合日期命令提取。 ``` openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate ``` 自检本地证书文件同样在行。 ``` openssl x509 -in cert.pem -noout -subject -enddate ``` ## 验证 证书链完整的判据:输出里从叶子证书到根证书逐级相连,无缺环,每一级的颁发者与上一级的主题严格对应。验证命令返回零且无报错,链即完整。最常见的不完整形态是服务端只发了叶子证书,漏掉中间证书:部分客户端内置了常见中间证书能自动补齐,另一部分严格按服务端下发内容校验,于是出现有人正常有人报错的分裂现象,这也是证书问题排查中最经典的一类,修法是把中间证书拼进服务端配置一起下发。 ## 注意事项 servername 参数别省,一台服务器多个证书的场景,不带它拿到的是默认证书,查了半天查错对象。到期检查做成定时任务,提前三十天告警,比临期手忙脚乱从容,告警内容带上证书路径,处理的人直接知道去哪续。自签证书适合内网服务间通信,对外业务用正规签发的证书,两条边界别混。顺云云服务器上对外服务部署证书后,用这套命令例行自检一遍,证书链与有效期两项都过,再谈对外可用。