Problem

Ich möchte, dass auf das System nur via https zugegriffen werden kann. Anfragen auf http:// sollen automatisch auf https:// umgeleitet werden.

Solution

SSL-Zertifikat

Zunächst benötigen Sie ein SSL-Zertifikat samt Private Key für Ihren Server. Dies muss auf dem Tomcat Server im conf Verzeichnis abgelegt werden.

SSL-Connector erstellen in conf/server.xml

Als nächstes müssen Sie einen SSL-Connector erstellen. Fügen Sie im conf/server.xml den folgenden XML-Block nach den HTTP-Connector ein. Die Filenamen goco-key.pem, goco-cert.pem und (optional) goco-certchain.pem müssen auf ersetzt werden mit den Namen Ihrer Zertifikat Files. Ihre Zertifikat Fileendungen können anders sein (z.B. .crt, .key).

<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
           maxThreads="150" SSLEnabled="true" >
    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/goco-key.pem"
                     certificateFile="conf/goco-cert.pem"
                     certificateChainFile="conf/goco-certchain.pem" />
    </SSLHostConfig>
</Connector>

HTTP auf HTTPS umleiten in conf/web.xml

Um alle HTTP-Anfragen auf HTTPS umzuleiten, fügen Sie den folgenden XML-Block im conf/web.xml direkt nach dem ersten Element (<web-app ...> ein:

  <security-constraint>
    <web-resource-collection>
        <web-resource-name>Entire Application</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>


Starten Sie dann Tomcat neu und prüfen Sie den HTTPS-Zugang sowie die Umleitung von HTTP auf HTTPS.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.


Related issues