17. Tomcat HTTP/2 Konfiguration - Linux

Vorraussetzungen: Tomcat 8.5+, SSL-Zertifikat

Server.xml Konfiguration

Dieses Element finden:

<br /><UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /><br />

Den dazugehörigen Connector einkommentieren:

<br /><Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"<br data-attributes="%20/" data-mce-fragment="1" /> maxThreads="150" SSLEnabled="true" ><br data-attributes="%20/" data-mce-fragment="1" /> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /><br data-attributes="%20/" data-mce-fragment="1" /> <SSLHostConfig><br data-attributes="%20/" data-mce-fragment="1" /> <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"<br data-attributes="%20/" data-mce-fragment="1" /> certificateFile="conf/localhost-rsa-cert.pem"<br data-attributes="%20/" data-mce-fragment="1" /> certificateChainFile="conf/localhost-rsa-chain.pem"<br data-attributes="%20/" data-mce-fragment="1" /> type="RSA" /><br data-attributes="%20/" data-mce-fragment="1" /> </SSLHostConfig><br data-attributes="%20/" data-mce-fragment="1" /> </Connector><br />

Pfade der Zertifikate und Keys gegebenenfalls anpassen.


Installation von APR

Auf der Maschine folgende Pakete installieren, falls diese noch nicht vorhanden sind:
libapr1-dev
libssl-dev

Zu "/opt/tomcat/bin" navigieren und das Archiv "tomcat-native.tar.gz" extrahieren.

Im "native" Ordner des extrahierten Archives ausführen:

<br />./configure --with-apr=`which apr-1-config` --with-java-home=$JAVA_HOME --with-ssl=yes --prefix=$CATALINA_HOME<br />


CATALINE_HOME entspricht hier dem Tomcat-Pfad, welcher auch als absoluter Pfad angegeben werden kann.

Im selben Verzeichnis ausführen:

<br />make

make install<br />


Im Theseus Start-Skript muss der Bibliothekspfad angegeben sein:

<br />export LD_LIBRARY_PATH=/opt/tomcat/lib:$LD_LIBRARY_PATH<br />


FAQ

FAQ
Sind spezifische Einstellungen für HTTP/2 SuSE Linux notwendig?
Nein, denn diese Doku wurde anhand einer OpenSuseLeap42.2 Maschine erstellt.

Einrichtung von HTTPS mit Zertifikaten: Könnte man mit HTTP/2 auf HTTPS umstellen und welche spezifischen Einstellungen sind dafür notwendig?
Dies erfolgt automatisch, da HTTP/2 SSL/TLS voraussetzt.

Welche Version von Tomcat und Tomcat Native funktionieren?
Tomcat: 8.5+
Tomcat Native: die mitgelieferte Version im "bin" Verzeichnis von Tomcat (empfohlen)
Alternativ muss folgendes verwendet werden: • APR 1.6.2
• APR-util 1.6.0
• APR-iconv 1.2.1

Mit welcher Version von OpenSSL oder dem Java keytool kann HTTP/2 eingesetzt werden?
OpenSSL: 1.0.x und 1.1.x


Referenzen


Tomcat
Apache Portable Runtime Project (APR)
HTTP/2

Anhänge

Diskussionen