2013-02-28 126 views
2

我正在爲C++ Binaries設置聲納系統,我正在嘗試使用https安裝程序。Sonar - 無法請求服務器版本

見Connector元素在server.xml中

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" 
    maxThreads="150" scheme="https" secure="false" 
    clientAuth="false" sslProtocol="TLS" 
    keystoreFile="D:/sonar_framework/apache-tomcat-7.0.35/conf/.keystore" keystorePass="changeit" 
    ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"/> 

而且sonar.host.url = https://b1.co:8443/sonar/在Sonar-runner.properties

我給本地主機也爲下一次嘗試,

但它顯示錯誤

Exception in thread "main" java.lang.IllegalStateException: Fail to request server version 
     at org.sonar.runner.Bootstrapper.getServerVersion(Bootstrapper.java:73) 
     at org.sonar.runner.Runner.checkSonarVersion(Runner.java:220) 
     at org.sonar.runner.Runner.execute(Runner.java:150) 
     at org.sonar.runner.Main.execute(Main.java:84) 
     at org.sonar.runner.Main.main(Main.java:56) 
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching <machine Name> found 
     at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 
     at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1902) 
     at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) 
     at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) 
     at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341) 
     at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153) 
     at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) 
     at sun.security.ssl.Handshaker.process_record(Handshaker.java:804) 
     at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1032) 
     at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) 
     at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355) 
     at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) 
     at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:515) 
     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299) 
     at java.net.URLConnection.getContent(URLConnection.java:748) 
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContent(HttpsURLConnectionImpl.java:434) 
     at org.sonar.runner.Bootstrapper.remoteContent(Bootstrapper.java:125) 
     at org.sonar.runner.Bootstrapper.getServerVersion(Bootstrapper.java:71) 
     ... 4 more 
Caused by: java.security.cert.CertificateException: No name matching blrkmis1977pc.in002.siemens.net found 
     at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:208) 
     at sun.security.util.HostnameChecker.match(HostnameChecker.java:93) 
     at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:347) 
     at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:203) 
     at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) 
     at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323) 
     ... 18 more 

幫我解決了這個問題秒。

+0

您是否使用自簽名證書?另外,stracktrace是用於localhost的,當你不使用本地主機時,你會得到一個,但完整的域名? – 2013-02-28 21:48:30

+0

我正在使用完整的域名和自簽名認證。我仍然面臨這個問題。 – 2013-03-01 03:40:26

回答

3

您需要告訴Java接受自簽名證書。請參閱this SO帖子(接受答案中的選項1)。

0

我想你應該檢查你的聲納服務器,在你的日誌裏,你的服務器是使用8443端口的,所以你應該使用下面的命令來檢查這個端口是否還在監聽? netstat -anl | grep 8443

您只需重新啓動聲納服務器。

相關問題