【发布时间】:2014-08-06 01:25:17
【问题描述】:
如何配置 tomcat 7 以使用我刚购买的新证书?我在 server.xml 上取消了 https 连接器的注释,它看起来像这样:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/tomcat7/.keystore" keystorePass="my-pass"/>
我的 webapp 包含一个 web.xml 文件,配置为:
<security-constraint>
<web-resource-collection>
<web-resource-name>Viewpoint Secure URLs</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
当我尝试访问它时
https://[IP_ADDRESS]:8443/
它只是返回页面无法加载。但是在没有传输保证的情况下部署相同的 webapp,我的 webapp 在 8080 上的 http 协议上运行良好。
其他可能有帮助的事实:
- 我已将此证书购买到我自己的域中,并且我正在一个不响应此域的新服务器上尝试它。所以我正在尝试通过服务器公共IP访问它。
- 从我的桌面尝试 wget 后,我收到以下错误:“OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure”
- 这是我第一次购买证书,所以我可能(希望不会)在此过程中的任何地方都做错了什么......比如创建密钥库、CSR 或其他任何东西:/
- 我没有完成此链接 (https://www.alphassl.com/support/install-root/tomcat.html) 中描述的第一次导入,因为此其他链接 (https://www.alphassl.com/support/install-root-certificate.html) 表示我不需要在我的服务器上安装根证书。它们,根证书和 globalsignrootCA.cer 是一回事吗?
有什么想法吗??我应该能够通过使用我的服务器 IP 地址的签名证书访问我的 web 应用程序,还是只能通过连接到我的证书的域?
谢谢!
【问题讨论】:
-
如果您的配置指向 /home/tomcat7/.keystore,那么我想您必须将证书导入此密钥库
-
我想我忘了提到我已经做到了。我想问题是我试图通过服务器的 ip 地址而不是 url 来访问它...
-
很高兴知道这一点。添加您自己的答案并接受它,这样您就可以帮助面临类似问题的其他人!
标签: tomcat tomcat7 ssl-certificate