2017-09-06 37 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/ –

相關問題