Tomcat-Einstellungen - Bereitstellung über HTTPS

Page / - zuletzt bearbeitet von sas am 26.11.2020, 14:08

Bereitstellung über HTTPS

zuletzt bearbeitet von sas

am 26.11.2020, 14:08

Inhaltsverzeichnis

Um den Apache Tomcat über HTTPS bereitzustellen, sind Anpassungen an der Datei server.xml des Tomcats notwendig.

Öffnen Sie die Datei server.xml (Pfad = /Pfad/Zum/Tomcat/conf/server.xml) mit einem entsprechenden Texteditor

Navigieren Sie zu der u.g. Zeile bzw. dem gesamten Eintrag/Block

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" ></Certificate>
</SSLHostConfig>
</Connector>

Sollte der entsprechende Block kommentiert sein, so kommentieren Sie diesen aus!

Passen Sie den Inhalt an Ihre Gegebenheiten (Pfade/Zertifikate/Port) an.

<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
URIEncoding="UTF-8"
maxHttpHeaderSize="65536"
maxPostSize="10485760"
relaxedQueryChars="[ \ ] ^ ` { | }">
<SSLHostConfig hostName="XX.XXXX.XX">
<Certificate certificateKeyFile="conf/private.key"
certificateFile="conf/zertifikat.crt"
certificateChainFile="conf/CHAIN.pem"
type="RSA" ></Certificate>
</SSLHostConfig>
</Connector>

Weiterführende Informationen zur Konfiguration von der Eigenschaft SSLHostConfig: https://tomcat.apache.org/tomcat-8.5-doc/config/http.html#SSL_Support_-_SSLHostConfig

Eine Zusammenfassung der wichtigsten Optionen finden Sie im Folgenden:

Attribut	Wert	Beschreibung
port	443 (Standard)	Über diesen Port wird die Verbindung aufgebaut.
URIEncoding	UTF-8	UTF-8 ist wichtig für eine durchgängig sauberes Encoding.
maxHttpHeaderSize	65536	Dieser Wert sollte nicht verändert werden.
maxPostSize	1100715200	Maximale Größe der Posts (Formulardaten inkl. Datei-Uploads) in Bytes. Der Wert in dem Beispiel ist 1GB.
hostName	*	Name oder IP Adresse des Hosts.
certificateKeyFile	*.key	Der private Schlüssel des Zertifikats.
certificateFile	*.crt	Das eigentliche Zertifikat.
certificateChainFile	*.*	Das übergeordnete Zertifikat (Certificate Authority (CA)), wenn nötig.

Weitere Möglichkeiten ein Zertifikat im Tomcat am Connector zu konfigurieren:

Einbindung mittels KeyStore:

<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
URIEncoding="UTF-8"
maxHttpHeaderSize="65536"
maxPostSize="10485760"
relaxedQueryChars="[ \ ] ^ ` { | }">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/file.keystore"
certificateKeystorePassword="mypwd" ></Certificate>
</SSLHostConfig>
</Connector>

Ist man im Besitz einer KeyPair-Datei (*.pfx, *.p12) kann man diese auch direkt einbinden:

<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
URIEncoding="UTF-8"
maxHttpHeaderSize="65536"
maxPostSize="10485760"
relaxedQueryChars="[ \ ] ^ ` { | }">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/file.pfx"
certificateKeystorePassword="mypwd"
certificateKeystoreType="PKCS12" ></Certificate>
</SSLHostConfig>
</Connector>