2016-07-23 52 views
2

我正在WSO2數據分析服務器,我有以下的DAS日誌文件SSL錯誤

javax.net.ssl.SSLException: hostname in certificate didn't match: <192.168.3.27> != localhost 

像網上有些錯誤,當我進入我的儀表盤創建我沒有看到任何數據和儀表板是空的,直到我做了this link說什麼,並且問題沒有再次發生在DAS儀表板上但是當我想連接API管理器到DAS時我在Configure Analytics菜單中的admin-dashboard上出現了一些錯誤。我無法保存配置和我API Manager得到了這樣的錯誤:發生

錯誤,同時部署工件(原因:org.apache.axis2.AxisFault:連接已關閉:javax.net.ssl中。出現SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路徑建設失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到有效的認證路徑要求的目標

我有DAS儀表盤,但我沒有錯誤無法連接AMDAS。任何想法?

+0

發生此錯誤是因爲您沒有CA簽名證書。你必須要做的是將你的證書添加到wso2carbon服務器的client-truststore.jks和wso2carbon.jks中。並檢查您的默認Java密鑰庫是否具有您正在使用的證書導入。我能知道你是否在使用LB?因爲您還必須將此證書添加到LB。 –

回答

0

您當前存儲在wso2carbon.jks中的證書指向localhost,但是如果您將解決方案部署在不同的服務器上,則需要爲每個服務器使用CN = server IP或full server hostname創建一個.jks。 在client-truststore.jks中,您需要存儲您需要連接的每臺服務器的證書。

+0

我理解了嗎?我必須像這樣將我的IP添加到wso2carbon.jks中:'keytool -genkeypair -alias 10.10.60.100 -keyalg RSA -keystore wso2carbon.jks'以及我應該如何處理client-truststore.jks? –

+0

當您在命令行中運行該命令時,keytool會要求您介紹一些信息。第一個是CN,必須是服務器IP或完整的服務器名稱。該錯誤表明您使用192.168.3.27作爲服務器IP。在client-truststore.jks中,您需要存儲其他服務器的證書。 –

+0

我有大約15臺虛擬機連接到我的DAS。他們都正確地向DAS發佈數據,沒有任何問題,我沒有將他們的CA添加到DAS client-truststore.jks,他們正在工作,我應該添加他們,因爲我的新CN? @ jorge-infante-osorio –

0

您正在收到主機名驗證錯誤,因爲公用證書中的URL和CN名稱中的域名不匹配。正確的解決方案是使CN名稱與url的域名匹配。

,如果你想跳過主機名驗證,然後 ,修改axis2.xml(HTTPS - transportSender)把主機名驗證關閉如下。

<parameter name="HostnameVerifier">AllowAll</parameter> 
+0

它仍然有和以前一樣的錯誤。 –