No Tomcat forçar conexão http com https

No Tomcat forçar conexão http com https

Estou tentando forçar uma conexão http://localhost:8443com https://localhost:8443. O site funciona corretamente se eles acessarem https://localhost:8443. Caso o usuário esqueça oéem https, gostaria que o Tomcat corrigisse para eles.

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. O Tomcat 6 é um servidor independente (não conectado ao IIS).

Tentei modificar 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:8080para https://localhost:8443(se o conector 8080 definisse oredirecionarPortcomo 8443).

Não tenho certeza se isso é possível com um servidor Tomcat independente. Eu sei que isso é possível com o apache mod_rewrite ou alguma outra solução semelhante, mas não quero instalar nenhum outro serviço na máquina Windows.

Responder1

quando sua primeira frase não for um erro de digitação, basta adicionar um conector para http na porta 8080 e adicionar o redirecionamento conforme descrito. você não pode fazer com que http e https escutem na mesma porta. então deixe http escutar na porta 8080 e https na porta 8443.

informação relacionada