Jenkins无法连接互联网(SSL故障) PKIX路径构建失败问题咨询
错误原因说明
错误信息:
SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
该错误是因为Jenkins依赖的Java运行环境的信任证书库中,缺少你请求的HTTPS目标站点的可信证书,SSL握手阶段校验失败导致。证书导入属于本地Java环境配置修改,和你系统的命令行联网封禁规则无冲突,全程不需要联网操作。
操作步骤
- 第一步:导出目标站点证书
用本机浏览器访问你需要请求的HTTPS站点(如果是走HTTPS代理的场景,访问代理的管理地址即可),点击地址栏左侧的锁形标识,在安全设置中导出完整证书链,格式选择Base64编码的X.509(.CER)格式,保存到本地路径。 - 第二步:定位Java信任库文件
Jenkins使用的Java环境信任库默认路径为$JAVA_HOME/jre/lib/security/cacerts,如果Jenkins使用内置Java,对应路径为Jenkins安装目录下的jre/lib/security/cacerts,该文件默认访问密码为changeit。 - 第三步:执行证书导入
运行命令:keytool -import -alias 自定义可识别的证书别名 -keystore 上述cacerts文件的绝对路径 -file 你导出的证书文件绝对路径
输入默认密码changeit后,确认导入操作即可。 - 第四步:重启Jenkins服务,配置即可生效。
常见排查点
- 如果配置了HTTPS代理,需要导入的是代理的根证书,不是目标业务站点的证书
- 导入后仍报错的话,优先检查你操作的cacerts文件,是否和Jenkins实际调用的Java环境对应
- 不要修改系统级别的证书配置,仅修改Java环境的cacerts文件即可,不会触发系统安全限制
内容的提问来源于stack exchange,提问作者Arturo Escobedo
相关产品推荐
相关产品推荐

