gpt4 book ai didi

tomcat - 将启用 SSL 的 Java SpringBoot war 部署到外部 Tomcat 服务器

转载 作者:行者123 更新时间:2023-12-04 12:44:13 24 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,它启用了 SSL,我可以通过 localhost 访问它。 “https://localhost:8443/showPage ”这样的。对于本地主机,我创建了 SSL 证书并在 application.properties 中提供了详细信息,如下所示

server.port: 8443
server.ssl.key-store: classpath:keystore.p12
server.ssl.key-store-password: 123456
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

这适用于本地主机。我想将 war 部署到已经启用 SSL 的 tomcat 服务器。为此,我更改了如下属性
server.port: 8443
server.ssl.key-store: /opt/tomcat/keystore/keystorefile.jks
server.ssl.key-store-password: Rv$@1234
server.ssl.keyStoreType: JKS
server.ssl.keyAlias: tomcat

但是我在访问任何请求时都得到了下面的图像。我正确地调用了请求。不是如图所示。像这样:“ https://ipaddress:8443/war_name/showPage
enter image description here

我的 Controller 接受请求
@RequestMapping("showPage")

最佳答案

我花了几天时间寻找答案,所以我会在这里发布我的解决方案供其他人关注。我正在将 Spring Boot 2 与在 centOs 8 上运行的外部 tomcat 9 一起使用。

  • 获取 SSL 证书,我使用带有密码的 keytool 创建了一个自签名证书。
  • 将 jks 和 p12 文件存储在您的 apache 服务器上。我将它存储在/opt/tomcat
  • 编辑您的 apache server.xml 文件以获得类似的内容。
     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="/opt/tomcat/keystore.p12" keystorePass="password"
    clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1"/>
  • 重启Tomcat
  • 为 8443 打开防火墙端口并重新启动防火墙守护进程
      firewall-cmd --zone=public --permanent --add-port 8443/tcp
    firewall-cmd --reload

  • 一旦你知道步骤是什么,它是非常快的!只是不要忘记任何事情。

    关于tomcat - 将启用 SSL 的 Java SpringBoot war 部署到外部 Tomcat 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48840965/

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