Jenkins在linux报错:PKIX path building failed: sun.security.provid...

本文详细介绍了当Jenkins在Linux环境下出现离线错误时的解决步骤。主要原因是Jenkins尝试访问https://updates.jenkins.io/update-center.json时遇到SSL权限问题。解决方法包括修改插件管理设置,将HTTPS更改为HTTP,然后重启Tomcat或Jenkins,从而恢复正常运行并开始下载插件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Jenkins在linux报错,先贴上报错信息

在这里插入图片描述

在网页上可以访问到,但是报出:Jenkenis报错:该jenkins实例似乎已离线

2.原因

jenkins启动需要访问这个网站 https://updates.jenkins.io/update-center.json,而它需要我们一个访问ssl的“权限”

3.方法:

打开网址,http://localhost:8080/pluginManager/advanced,找到最下面的把https改为http

在这里插入图片描述

然后重新启动tomcat或者jenkins,就可以看到让你选择下载插件的流程了,这就代表可以正常使用了,然后就是让你创建第一个用户,然后就是这样:

在这里插入图片描述

### SSL握手异常和证书验证失败解决方案 当遇到 `javax.net.ssl.SSLHandshakeException` 和 `sun.security.validator.ValidatorException: PKIX path validation failed` 的错误,通常是因为客户端无法信任服务器的SSL/TLS证书。以下是几种常见的解决方法: #### 方法一:跳过SSL证书校验 可以通过配置RestTemplate来忽略SSL证书验证。这种方法适用于开发环境或测试环境中,不建议用于生产环境。 ```java import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; public class SslIgnoreConfig { public static RestTemplate getRestTemplate() throws Exception { CloseableHttpClient httpClient = HttpClients.custom() .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, (certificate, authType) -> true).build()) .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) .build(); HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient); return new RestTemplate(factory); } } ``` 此代码片段通过自定义HTTP客户端的方式忽略了所有的SSL认证过程[^2]。 #### 方法二:导入可信证书到JVM的信任库 如果希望正式解决问题而不是简单地绕过它,则可以将目标服务器的公钥证书导入Java的安全信任存储区(truststore)。具体操作如下: 1. 使用浏览器访问HTTPS站点并导出其X.509格式的PEM文件。 2. 将该PEM文件转换成JKS格式或者直接添加至现有keystore中。 命令示例如下: ```bash keytool -importcert -file server-cert.pem -alias myserver -keystore $JAVA_HOME/lib/security/cacerts ``` 默认密码通常是`changeit`[^3]。 #### 方法三:安装Skip Certificate Check插件于Jenkins场景 对于特定的应用程序如Jenkins而言,可以直接利用社区提供的现成功能模块简化流程处理。比如针对文中提到的情况,“skip-certificate-check” 插件能够有效规避因网络更新源引起的连接障碍问题。下载链接已提供,请按照官方文档说明完成部署工作即可生效[^2]。 注意以上每种方式都有各自适用范围以及局限性,在实际应用过程中需权衡安全性与便捷性的关系做出合理选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值