Bereitstellung über HTTPS
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:
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:
URIEncoding="UTF-8"
maxHttpHeaderSize="65536"
maxPostSize="10485760"
relaxedQueryChars="[ \ ] ^ ` { | }">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/file.pfx"
certificateKeystorePassword="mypwd"
certificateKeystoreType="PKCS12" ></Certificate>
</SSLHostConfig>
</Connector>