2017-09-06 38 views
0

我刚刚在Windows机器上安装了一个新的jenkins 2.77实例,运行Java 1.8.0#60。jenkins pluginManager'现在检查''无法找到有效的证书'错误

我期待有一些默认的插件,但它似乎没有安装实例时创建。

当我去检查可用的插件标签,它读取:

Update information obtained: N/A ago

当我点击了“确认”键,我得到一个错误与以下堆栈跟踪:

堆栈跟踪:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source) 
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) 
    at java.security.cert.CertPathBuilder.build(Unknown Source) 
Caused: sun.security.validator.ValidatorException: PKIX path building failed 
    at sun.security.validator.PKIXValidator.doBuild(Unknown Source) 
    at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) 
    at sun.security.validator.Validator.validate(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) 
Caused: javax.net.ssl.SSLHandshakeException 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
    at sun.security.ssl.Handshaker.process_record(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) 
    at hudson.model.DownloadService.loadJSON(DownloadService.java:167) 
    at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:190) 
    at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1629) 
    at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) 
    at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343) 
    at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52) 
    at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) 
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184) 
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117) 
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129) 
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) 
    at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:186) 
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845) 
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 
    at org.kohsuke.stapler.Stapler.service(Stapler.java:238) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) 
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 
    at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:92) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) 
    at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) 
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) 
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) 
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) 
    at org.eclipse.jetty.server.Server.handle(Server.java:564) 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) 
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) 
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) 
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) 
    at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

基于this post,据我了解,我需要做某种键或ssh配置,但我不清楚所有使用的变量,因为它们适用于这个特定的错误。

我该如何解决这个问题?

更新2017年9月11日:

  • 我卸载Java和再装最新的Java,1.8.0#44。
  • 我卸载了Jenkins并删除了Program Files文件夹。
  • 我安装詹金斯2.77

这一次在安装向导中,我注意到,通知我说,詹金斯是脱机的页面。

我不确定这是什么意思,因为我可以连接到互联网。无论出于何种原因,詹金斯都不能。

我非常确定,当我最初安装Jenkins时,我看到了这个页面并选择了跳过插件安装。 “Jenkins处于离线状态”的消息很可能与“无法找到有效的证书路径到所请求的目标”有关。

this post似乎有类似的问题。

回答

5

Jenkins 2.77 changed更新中心(UC)的默认URL使用https://而不是http://

Jenkins UC使用来自Let's Encrypt的SSL证书,但Let's Encrypt证书所依赖的根证书未添加到Java 8,直到update 101

将Java安装从8u60升级到至少8u101,它应该按预期工作。

+0

我更新了Java,但没有运气。更多细节在我的OP的更新中。你对安装中的离线消息有什么看法,你认为它是相关的吗? – kraftydevil

+0

@kraftydevil是的,如果您在安装向导期间遇到与证书相同的问题,它会告诉您Jenkins处于脱机状态。如果您确定Jenkins正在运行最新版本的Java 8,那么您需要查看Jenkins日志并提出问题:https://jenkins.io/redirect/report-an-issue/ –

相关问题