Estou tentando forçar uma conexão com http://localhost:8443
to https://localhost:8443
.
O site funciona corretamente se eles forem para https://localhost:8443
. Caso o usuário esqueça o s em https eu gostaria que o tomcat o corrigisse para eles.
Eu só tenho um conector para https, definido como:
<Connector port="8443" rediretPort="8443"
protocol="HTTP/1.1"
connectionTimeout="20000"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keyAlias="alias"
keystoreFile="keystore.jks"
keypass="PASSWORD"
/>
Isso está em um servidor Windows. Tomcat 6 é um servidor autônomo (não conectado ao IIS).
Eu tentei modificar o web.xml para incluir o seguinte:
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
Isso não funciona para mim. Pelo que li, isso redirecionaria um usuário de http://localhost:8080
para https://localhost:8443
(se o conector 8080 definisse o redirectPort como 8443).
Não estou certo de que isso seja possível com um servidor Tomcat independente. Eu sei que isso é possível com mod_rewrite apache ou alguma outra solução semelhante, mas eu não quero instalar qualquer outro serviço na máquina Windows.