温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何排查SSL证书错误

发布时间:2026-10-20 06:54:50 来源:亿速云 阅读:84 作者:小樊 栏目:系统运维

排查 SSL 证书错误通常可以按从客户端到服务端、从表象到根因的思路进行。下面是一套比较通用的排查流程和常见原因。


一、先确认错误现象

不同场景错误表现不同,先明确:

  • 浏览器访问报错(如 NET::ERR_CERT_*)
  • curl / wget 报错(SSL certificate problem)
  • 程序/接口调用报错(如 Java PKIX path building failed)
  • 仅某些设备/网络报错,还是全部

常见浏览器提示:

  • 证书过期
  • 证书域名不匹配
  • 证书不受信任(未知 CA)
  • 证书链不完整

二、使用工具快速定位

1. 浏览器查看证书

  • 点击地址栏锁图标 → 查看证书
  • 看:
    • 颁发者(CA)
    • 有效期
    • 绑定的域名(SAN)

2. 使用 openssl 检查

openssl s_client -connect example.com:443 -servername example.com

关注:

  • Verify return code
  • 证书链是否完整
  • 证书有效期

3. 在线工具

  • SSL Labs (ssllabs.com)
  • 各类 SSL 检测平台
    可快速发现链不完整、协议不支持等问题

三、常见原因及排查点

1. 证书过期

检查:

openssl x509 -in cert.pem -noout -dates

解决:续签并重新部署


2. 域名不匹配

证书只签了:

  • example.com 但访问:
  • www.example.com

排查:

  • 查看证书 SAN 字段
  • 是否漏配子域名

解决:

  • 使用包含正确域名的证书(通配符或多域名)

3. 证书链不完整(非常常见)

表现:

  • 浏览器正常,但 Java / curl / 小程序报错

原因:

  • 服务端未配置中间证书

排查:

openssl s_client -connect example.com:443 | grep -A 1 "Certificate chain"

解决:

  • 合并:
    站点证书 + 中间证书 + 根证书(可选)
    

4. 使用了自签名证书

表现:

  • 明确提示“不受信任的颁发机构”

解决:

  • 内网可导入信任
  • 公网应使用受信任 CA(Let’s Encrypt / 商业 CA)

5. CA 不受信任

可能原因:

  • 老系统缺少根证书
  • 使用了较新 CA(如 ISRG Root X1 未被旧系统信任)

排查:

  • 客户端系统时间是否正确
  • 系统 CA 仓库是否过旧

6. 系统时间错误

证书依赖时间验证:

  • 时间快/慢会导致“证书未生效/已过期”

检查:

date

7. 中间件 / 反向代理配置问题

常见于:

检查:

  • 是否正确加载证书文件
  • 是否缓存了旧证书
  • 是否只配了 leaf 证书

四、典型场景示例

Nginx 证书链错误

ssl_certificate     fullchain.pem;
ssl_certificate_key privkey.pem;

fullchain.pem 必须包含中间证书


Java 报 PKIX 错误

通常是:

  • 缺少中间证书
  • 或 CA 未导入 truststore

五、排查清单(总结)

  • [ ] 域名是否匹配
  • [ ] 是否过期
  • [ ] 证书链是否完整
  • [ ] CA 是否受信任
  • [ ] 系统时间是否正确
  • [ ] 服务端配置是否生效
  • [ ] 是否 CDN / 代理层问题

如果你能补充:

  • 具体错误信息
  • 使用场景(浏览器 / curl / Java / Nginx)
  • 域名或环境(内网 / 公网)

我可以给你更针对性的排查步骤。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手