SSL 连接导致 javax.net.ssl.SSLException:证书中的主机名不匹配(WSO2 Api 管理器/Tomcat)
SSL-Connection causes javax.net.ssl.SSLException: hostname in certificate didn't match (WSO2 Api Manager / Tomcat)
我目前正在设置一个 dockerized WSO Api 管理器。我们已经为我们的域获得了通配符证书。我成功地将其转换为 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)
服务器似乎正在尝试与本地主机建立 SSL 连接。那么如何将匹配的证书添加到允许本地主机访问的密钥库?
非常感谢!
在 conf
文件夹的 axis2\axis2.xml
文件中,您必须更改 https transportSender
以包含以下行:
<parameter name="HostnameVerifier">AllowAll</parameter>
Here 你可以阅读更多相关内容
在 api-manager.xml
文件中,将 localhost
的所有引用更改为与您的域名匹配,重新启动,应该就可以了。
设置
<parameter name="HostnameVerifier">AllowAll</parameter>
存在安全风险,主机名验证是有原因的。
我目前正在设置一个 dockerized WSO Api 管理器。我们已经为我们的域获得了通配符证书。我成功地将其转换为 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)
服务器似乎正在尝试与本地主机建立 SSL 连接。那么如何将匹配的证书添加到允许本地主机访问的密钥库?
非常感谢!
在 conf
文件夹的 axis2\axis2.xml
文件中,您必须更改 https transportSender
以包含以下行:
<parameter name="HostnameVerifier">AllowAll</parameter>
Here 你可以阅读更多相关内容
在 api-manager.xml
文件中,将 localhost
的所有引用更改为与您的域名匹配,重新启动,应该就可以了。
设置
<parameter name="HostnameVerifier">AllowAll</parameter>
存在安全风险,主机名验证是有原因的。