Normalerweise ist mir ja die Benutzung eines HTTP-Servers(im Speziellen Apache) fuer die Behandlung von Zertifikaten und Weiterleitungen am liebsten. Dennoch kann es Momente geben, wo es doch vllt. etwas zu viel des Guten ist, eine zusaetzliche Anwendung wie den genannten HTTP-Server in der Funktion eines Proxies zusaetzlich zu starten.
Hat man es denn nach einigem Ringen geschafft, ein verifiziertes Keystore mit dem Connector eines Tomcats zu verknuepfen, so ist es haeufig auch der Wunsch, http zu unterbinden und sofort saemtliche Anfragen nach https weiterzuleiten.
Dazu hat sich folgender 3-Stufenplan bewaehrt:
Stufe 1: HTTP-Connector um HTTPS-Weiterleitungsport erweitern
Im HTTP-Connector-Teil der server.xml muss der sichere https-Port angegeben werden:
conf/server.xml
Im Normalfall sollte das 443 sein. In diesem Zuge sollte man auch beachten, das eventuell der SSL-Port des Tomcats (Standard:8443) nicht mit dem dann tatsaechlich unter der Domain erreichbaren uebereinstimmt(z.Bsp. 443). Es sollte der von aussen zugaengliche Port eingetragen werden und nur wenn kein Port-Mapping vorliegt der des im Tomcat eingetragenen Connectors fuer HTTPS.
Stufe 2: web.xml der Anwendung um „Security-Zwang“ erweitern
Im zweiten Schritt muss der Anwendung erlaeutert werden, dass es doch wichtig fuer sie ist, von diesem Port auch tatsaechlich Gebrauch zu machen. Dazu einfach folgenden Absatz der web.xml hinzufuegen:
WEB-INF/web.xml
Sichere URLs
/
CONFIDENTIAL
Stufe 3: Tomcat neu starten
… und hoffentlich erfreut dreingucken.
Weiterfuehrend auch zur Erstellung eines Keystores kann es sich lohnen, auch dies hier zu lesen:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html