tomcat - 将 webapp 配置为在 tomcat7 上的 ssl 证书上运行

标签 tomcat tomcat7 ssl-certificate

如何配置 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 协议(protocol)上工作得很好。

可能有帮助的其他事实:

  1. 我已经为我自己的域购买了这个证书,我正在一个不响应这个域的新服务器上测试它。所以我尝试通过服务器公共(public) IP 访问它。
  2. 我在桌面尝试 wget 后收到以下错误:“OpenSSL:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败”
  3. 这是我第一次购买证书,所以我可能(希望没有)在过程中的任何地方做错了……比如创建 keystore 、CSR 或其他任何东西:/
  4. 我没有完成此链接 (https://www.alphassl.com/support/install-root/tomcat.html) 中描述的第一次导入,因为另一个链接 (https://www.alphassl.com/support/install-root-certificate.html) 说我不需要在我的服务器上安装根证书。根证书和 globalsignrootCA.cer 是一回事吗?

有什么想法吗?我应该能够使用我的服务器 IP 地址通过签名证书访问我的 Web 应用程序,还是只能通过连接到我的证书的域访问我的 Web 应用程序?

谢谢!

最佳答案

首先验证tomcat是否正在查找和加载 keystore 文件(如果有任何错误,请在catalina.out中验证)。但是,由于您有针对您的域名的 keystore ,您无法使用您的 ip 地址访问您的 url,您应该使用域访问 url,例如说 https://abc.com:8443

关于tomcat - 将 webapp 配置为在 tomcat7 上的 ssl 证书上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25150910/

相关文章:

java - 套接字异常 : TOO MANY OPEN FILES

java - LinkageError - 违反加载程序约束 - 解析方法 "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()"时

tomcat - mvn tomcat7 :run - How does it work?

security - 此“openssl s_client -connect”调用实际上是在查询OCSP响应程序服务器以确认证书的当前有效性吗?

java - 如何在spring ws客户端请求中添加证书链

ssl - 用 ssl 写名字

Tomcat6 忽略 META-INF/context.xml

java - 在tomcat中获取另一个webapp的上下文

tomcat7 - 配置 jdbc-pool (tomcat 7)

spring-mvc - 带有 SpringMVC 的 Tomcat 7,缺少 "Server startup"成功消息