我目前正在设置一个 dockerized WSO Api Manager。我们已经获得了域的通配符证书。我成功地将其转换为java密钥库并替换了两个jks文件。
当我打开 API 管理器时,我没有收到 ssl 警告,并且浏览器将我的连接标记为安全。
当我尝试登录时出现错误:
![enter image description here](https://i.stack.imgur.com/AEY7e.png)
在日志文件中我得到:
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 连接。那么如何将匹配的证书添加到密钥库以允许本地主机访问?
非常感谢!
In the api-manager.xml
文件,更改所有引用localhost
匹配你的域名,重新启动,应该就可以了。
Setting
<parameter name="HostnameVerifier">AllowAll</parameter>
存在安全风险,主机名验证的存在是有原因的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)