Come configurare Tomcat per richiedere sempre HTTPS

Innanzitutto, assicurati di aver configurato e abilitato entrambi gli elementi HTTP e HTTPS nel tuo conf/server.xmlfile:

     

Per dettagli su come preparare il file conf / keystore, vedere //tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html.

Riavvia Tomcat e verifica entrambi questi connettori, assicurandoti di poter accedere all'applicazione Web tramite uno dei connettori prima di procedere. Successivamente, modifica il WEB-INF/web.xmlfile della tua app web e aggiungi quanto segue all'interno dell'elemento contenitore:

                               HTTPSOnly / * CONFIDENTIAL HTTPSOrHTTP * .ico / img / * / css / * NONE              

Questa configurazione dichiara che l'intera app Web deve essere solo HTTPS e il contenitore deve intercettare le richieste HTTP per essa e reindirizzarle all'URL // equivalente. L'eccezione è rappresentata da alcune richieste con pattern URL che corrispondono alla HTTPSOrHTTPraccolta di risorse Web, nel qual caso le richieste verranno servite tramite il protocollo su cui è arrivata la richiesta, HTTP o HTTPS.

Infine, riavvia la tua app web (o Tomcat). Ora dovrebbe reindirizzare le richieste HTTP a HTTPS e dovrebbe servire l'app Web solo tramite HTTPS.