gpt4 book ai didi

java - 使用 SSL 将 WAR 部署到 Tomcat 8

转载 作者:行者123 更新时间:2023-11-28 22:53:50 24 4
gpt4 key购买 nike

我使用 Intellij IDEA 开发了一个 Web 应用程序,并使用 IDE 的构建函数生成了一个 WAR 文件。我的应用程序的 web.xml 包含以下代码段:

<security-constraint>
<web-resource-collection>
<web-resource-name>sslTestApp</web-resource-name>
<url-pattern>*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

这样我的应用程序中的每个页面都受到 SSL 的保护。

我还使用了 keytool,并且在 conf/server.xml 中的端口 8443 上启用了 HTTPS,如官方 Tomcat 文档所述。

当我从 IDE 启动项目时,它在端口 8443 上启用 SSL 时运行良好,但如果我将 .war 文件放在 tomcat 的 webapps 目录中,请重新启动服务器并导航到 https://localhost:8443/testApplication,我收到一个 ERR_TIMED_OUT 错误。

如果我编辑部署的应用程序的web.xml并删除上面的段,从而使应用程序在默认端口8080上运行,应用程序运行顺利。

因此,对于 Intellij,两个端口都可以工作,但如果我手动部署应用程序,只有 8080 可以正常工作。我错过了什么吗?

最佳答案

以防万一其他人可能面临同样的问题,解决方案是在 server.xml 中显式设置 key 的位置和 key 别名,如下所示:

<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="C:\mykeystore"
keyAlias="mykey"
clientAuth="false" keystorePass="yourPassword" sslProtocol="TLS" />

关于java - 使用 SSL 将 WAR 部署到 Tomcat 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32568327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com