2

私は C++ バイナリのソナー システムを設定しており、https セットアップを試しています。

Server.xml の Connector 要素を参照してください

 <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-runner.propertiesの sonar.host.url = https://b1.co:8443/sonar/

次の試行のためにローカルホストも指定しました。

しかし、それはエラーを示しています

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

これを解決するのを手伝ってください。

4

2 に答える 2

3

自己署名証明書を受け入れるように Java に指示する必要があります。このSO投稿を参照してください(受け入れられた回答のオプション1)。

于 2013-03-01T05:11:56.977 に答える
0

ログでソナーサーバーを確認する必要があると思います。サーバーはポート8443を使用しているため、次のコマンドを使用して、このポートがまだリッスンしているかどうかを確認する必要があります?? netstat -anl | grep 8443

また

ソナーサーバーを再起動するだけです。

于 2015-02-04T07:44:40.233 に答える