Apache Tomcat 在同一端口上接受 HTTP 和 HTTPS 并始终重定向到 HTTPS

Apache Tomcat 在同一端口上接受 HTTP 和 HTTPS 并始终重定向到 HTTPS

你好,我的 apache tomcat 服务器中的文件中有以下连接器server.xml

 <Connector port="8443" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               secure="true"
               SSLEnabled="true"
               scheme="https"
               keystoreFile="/opt/tomcat/resources/keystore.jks"
               keystorePass="secret"
               clientAuth="false"
               sslProtocol="TLS"
    />

如果您通过该 URL 访问该网站,https://mysite:8443/webapp我会得到一个安全的 TLS 连接,并且一切正常。

但是我的一些同事手动输入http://mysite:8443/webapp并得到错误:

Bad Request This combination of host and port requires TLS.

这个错误对我来说很有意义。但是我需要的是,如果您在端口 8443 上发出 HTTP 请求,则该请求会重定向到 HTTPS 请求。这样,用户可以输入 HTTP 并自动重定向到 HTTPS。

有没有办法在 Apache Tomcat/9.0.73 中实现这种行为。

相关内容