jenkins-plugins - 获取 SSLHandshakeException:没有主题替代 DNS 名称匹配 updates.jenkins.io 而 Openshift 中的 Jenkins 插件更新
问题描述
- 操作系统版本:CentOS 7.6
- Openshift OKD 3.11 多节点集群
- Openshift Jenkins 映像:openshift/jenkins-2-centos7
当我去管理 Jenkins 部分更新 Jenkins 插件时,我收到以下错误:java.security.cert.CertificateException: No subject Alternative DNS name matching updates.jenkins.io found . 错误:SSLHandshakeException:没有主题替代 DNS 名称匹配 updates.jenkins.io
2020-06-02 21:49:57.178+0000 [id=21] INFO hudson.WebAppMain$3#run: Jenkins is fully up and running
2020-06-02 21:49:57.299+0000 [id=47] INFO hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:
java.security.cert.CertificateException: No subject alternative DNS name matching updates.jenkins.io found.
at java.base/sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:207)
at java.base/sun.security.util.HostnameChecker.match(HostnameChecker.java:98)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:415)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1316)
Caused: javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching updates.jenkins.io found.
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:320)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1332)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1207)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1150)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1151)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1062)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
at hudson.model.DownloadService.loadJSON(DownloadService.java:113)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:185)
at hudson.PluginManager.checkUpdatesServer(PluginManager.java:1765)
at hudson.util.Retrier.start(Retrier.java:62)
at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1736)
at hudson.PluginManager$doCheckUpdatesServer.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at update-center-init$1$2$3.call(update-center-init.groovy:12)
at update-center-init$1$2$3.call(update-center-init.groovy)
at hudson.security.ACL.impersonate(ACL.java:290)
at hudson.security.ACL$impersonate.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at update-center-init$1$2.run(update-center-init.groovy:9)
需要帮助。
解决方案
推荐阅读
- docker - Docker,VS Code - 在 vscode 中找到容器,但无法附加
- laravel - 帖子上的类别名称
- r - RStudio 访问可用作预览但不在全局环境中的数据框
- html - owl carousel 填充多张图片的空白高度
- database - Truecaller 聊天存储在手机内存的什么位置?
- python - 如何将值动态传递给 SQL 脚本
- node.js - 如何在 puppeteer 中查找节点的所有子节点
- reactjs - 尝试修复此错误“Node Sass 版本 6.0.1 与 ^4.0.0 || ^5.0.0 不兼容。”
- r - 基于列模式和其他列的新列
- node.js - 尝试删除文件夹时如何解决此问题,并显示错误 0x80004005:出现未指定错误消息的警报?