我正在使用 Jenkins 版本 1.566 和 Artifactory 插件版本 2.2.2。
我在它自己的码头容器中运行 artifactory 2.66。它以 http 运行,但最近我将其更改为 https。
现在,如果我将 Jenkins 配置中的 Artifactory 服务器 url 从 http 更改为 https 和端口 8443,则会收到错误消息:
"Error occurred while requesting version information: peer not authenticated"
如果我转到 https url 并使用相同的用户名和密码登录,则成功。
为什么会发生此错误以及如何修复它?
任何帮助表示赞赏。
最佳答案
此错误的原因是对 Artifactory 服务器使用了自签名证书,但 Jenkins JVM 无法识别该证书。这是使用自签名证书时的常见问题。
要解决此问题,您需要将自签名证书导入 Jenkins 使用的信任库(由用于运行 Jenkins 的 JRE),例如:
<JAVA_HOME>\bin\keytool -import -v -trustcacerts
-alias server-alias -file server.cer
-keystore /path/to/cacerts -keypass changeit
-storepass changeit
在这个例子中:
server.cer
是您为 Artifactory 生成的自签名证书。cacerts
是用于 Jenkins 的信任库。默认情况下,您应该在 JRE 中找到一个 - <JRE_HOME>/lib/security/cacerts
.请注意,这与 Artifactory 使用的 keystore 不同。请注意,默认的 keystore 密码是 changeit。有关更多信息,请查看 keytool 的 Oracle 文档。
关于jenkins - Artifactory 插件中的 "peer not authenticated "错误 - Jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24920311/