SSL连接导致javax.net.SSL.SSLException:证书中的主机名没有';t匹配(WSO2 Api管理器/Tomcat)

SSL连接导致javax.net.SSL.SSLException:证书中的主机名没有';t匹配(WSO2 Api管理器/Tomcat),java,ssl,wso2,wso2-am,wso2carbon,Java,Ssl,Wso2,Wso2 Am,Wso2carbon,我目前正在设置一个停靠的WSOAPI管理器。我们已获得域的通配符证书。我成功地将其转换为java密钥库并替换了两个jks文件 当我打开API管理器时,没有收到ssl警告,浏览器会将我的连接标记为安全连接 当我尝试登录时,我收到一个错误: 在我得到的日志文件中: TID: [-1234] [] [2017-03-24 11:37:55,305] INFO {org.apache.axis2.transport.http.HTTPSender} - Unable to sen

我目前正在设置一个停靠的WSOAPI管理器。我们已获得域的通配符证书。我成功地将其转换为java密钥库并替换了两个jks文件

当我打开API管理器时,没有收到ssl警告,浏览器会将我的连接标记为安全连接

当我尝试登录时,我收到一个错误:

在我得到的日志文件中:

TID: [-1234] [] [2017-03-24 11:37:55,305]  INFO     
     {org.apache.axis2.transport.http.HTTPSender} - Unable to sendViaPost   
     to    url[https://localhost:9443/services/AuthenticationAdmin]  
     {org.apache.axis2.transport.http.HTTPSender}
javax.net.ssl.SSLException: hostname in certificate didn't match: 
     <localhost> != </*.mydomain.io/mydomain.io/*.mydomain.io>
     at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:341)
     at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:277)
TID:[-1234][[2017-03-24 11:37:55305]信息
{org.apache.axis2.transport.http.HTTPSender}-无法发送邮件
到url[https://localhost:9443/services/AuthenticationAdmin]  
{org.apache.axis2.transport.http.HTTPSender}
javax.net.ssl.SSLException:证书中的主机名不匹配:
!= 
位于org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:341)
位于org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:277)
看起来服务器正在尝试与本地主机进行SSL连接。那么,如何将匹配的证书添加到允许本地主机访问的密钥库中呢


非常感谢

conf
文件夹上的
axis2\axis2.xml
文件中,您必须更改https
transportSender
以具有以下行:

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

您可以在
api manager.xml
文件中阅读更多关于这方面的内容,更改
localhost
的所有引用以匹配您的域名,重新启动,这样应该很好

背景

<parameter name="HostnameVerifier">AllowAll</parameter>
AllowAll
是一种安全风险,主机名验证是有原因的