如何在Tomcat9上同时使用HTTP和HTTPS?

问题描述 投票:0回答:1

从java7和Tomcat7升级到java8和Tomcat9。

在之前的版本中,HTTP 连接在一个页面中正常工作。

但是现在,我只想通过 HTTP 连接一页。但它可以工作并通过 HTTPS 重定向。

这就是为什么我尝试同时连接 HTTP 和 HTTPS。

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="443" URIEncoding="UTF-8"/>

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"     
   connectionTimeout="20000"        
   redirectPort="8443"      
   URIEncoding="UTF-8"      
   maxThreads="500"     
   acceptCount="10"     
   maxConnections="8192"        
   enableLookups="false"        
   compression="off"        
   tcpNoDelay="true"        
   maxKeepAliveoRequest="500"       
   scheme="https" secure="true"     
   keystoreFile="D:" keystorePass="******"      
   clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2"
/>
http spring-security https java-8 tomcat9
1个回答
0
投票

要将 Tomcat 9 配置为同时处理 HTTP 和 HTTPS 连接,您需要在 server.xml 配置文件中定义两个单独的元素。一个连接器将负责处理 HTTP 请求,另一个连接器将处理 HTTPS 请求。具体方法如下:

打开 server.xml 文件,该文件通常位于 Tomcat 安装的 conf 目录中。

找到 HTTPS(端口 443)的现有元素,并确保它已使用您的 SSL 证书信息正确配置,如您提供的配置中所示。

在现有 HTTPS 连接器上方添加一个新的 HTTP 元素(端口 80)。配置如下:

<Connector port="80" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="443" URIEncoding="UTF-8"/>

此 HTTP 连接器将侦听端口 80 并将所有 HTTP 请求重定向到端口 443 (HTTPS)。

保存 server.xml 文件并重新启动 Tomcat 服务器以应用更改。 通过这些配置,您的 Tomcat 服务器将处理端口 80 上的 HTTP 请求,并将它们重定向到端口 443 上的 HTTPS。例如,如果您访问 http://yourdomain.com,Tomcat 将自动将您重定向到 https:// yourdomain.com.

此外,您应该确保 HTTPS 连接器的 SSL 证书和密钥库配置正确。确保密钥库文件和密码设置正确并且 SSL 证书有效。

请记住通过安全补丁和证书续订使您的 Tomcat 服务器和 SSL 证书保持最新状态,以确保您的 Web 应用程序的安全性和稳定性。

© www.soinside.com 2019 - 2024. All rights reserved.