ubuntu

Ubuntu Node.js日志中的SSL证书错误怎么解决

小樊
46
2025-10-15 18:32:25
栏目: 云计算

Ubuntu Node.js日志中SSL证书错误的常见类型及解决方法

在Ubuntu环境下,Node.js应用运行时遇到的SSL证书错误主要与证书有效性、信任链完整性、系统配置相关,以下是具体错误类型的诊断与解决步骤:

1. 证书过期(CERT_HAS_EXPIRED)

错误表现:Node.js或npm操作(如npm install)报错“certificate has expired”,无法访问远程资源。
解决方法

2. 证书链不完整(UNABLE_TO_VERIFY_LEAF_SIGNATURE)

错误表现:Node.js发起HTTPS请求时报错“unable to verify the first certificate”,无法验证服务器证书的有效性。
解决方法

3. 自签名证书未被信任(DEPTH_ZERO_SELF_SIGNED_CERT)

错误表现:连接使用自签名证书的服务器时,报错“self signed certificate in certificate chain”。
解决方法

4. 证书SAN不匹配(ERR_TLS_CERT_ALTNAME_INVALID)

错误表现:证书的Subject Alternative Name(SAN)与请求的域名不一致,报错“hostname doesn’t match”。
解决方法

5. 系统根证书过旧(无法识别新CA)

错误表现:Node.js无法验证由新CA(如Let’s Encrypt新签发的证书)签发的证书,报错“unable to get local issuer certificate”。
解决方法

通用调试技巧

以上方法覆盖了Ubuntu Node.js环境下常见的SSL证书错误,根据具体错误类型选择对应方案即可解决。生产环境中务必优先选择“添加自定义CA”或“修正证书链”的方式,避免禁用SSL验证带来的安全风险。

0
看了该问题的人还看了