Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie implementiere ich HTTP2 in Tomcat?

Kater
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Eine schrittweise Anleitung zum Einrichten von HTTP2 in Apache Tomcat

Die neueste Version von Tomcat 2.x bietet vollständige HTTP9-Unterstützung. HTTP / 2 ist schnell, viel schneller als HTTP / 1.1.

Wenn Sie den Inhalt von Tomcat aus direkt an den Browser senden (ohne einen Webserver zu durchlaufen), kann die Implementierung von HTTP / 2 die Ladezeit der Anwendung drastisch reduzieren und die Leistung insgesamt verbessern. Es wird empfohlen, dies in einer Nicht-Produktionsumgebung zu testen, um sicherzustellen, dass sich die Anwendung wie erwartet verhält.

Lesen Sie dies, wenn Sie es auf einem Webserver wie Apache oder Nginx aktivieren möchten.

Wie aktiviere ich HTTP / 2 in Apache & Nginx?

Pre-requisite

Tomcat muss vor der Implementierung von HTTP2 mit einem SSL / TLS-Zertifikat gesichert werden. Wenn Sie Hilfe bei der Implementierung benötigen, lesen Sie dieses Handbuch.

Wie implementiere ich SSL in Apache Tomcat?

Implementing HTTP/2 on Tomcat

Hinweis: Erstellen Sie vor der Änderung eine Sicherungskopie der Konfigurationsdateien, damit Sie sie wiederherstellen können, wenn ein Fehler auftritt.

  • Melden Sie sich bei Tomcat Server an und wechseln Sie in den Installationsordner
  • Gehen Sie zu conf Mappe
  • Ändern Sie die Datei server.xml mit vi oder Ihr Lieblingseditor
  • Fügen Sie im SSL-Connector Folgendes hinzu
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />

Insgesamt sollte es wie folgt aussehen.

<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/key.pem"
                         certificateFile="conf/cert.pem"
                         certificateChainFile="conf/chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

Oben ist meine Laborkonfiguration aufgeführt. Wenn Sie sie also kopieren, vergessen Sie nicht, die Konfiguration an Ihre Umgebungsanforderungen anzupassen - insbesondere an den Port, wenn Sie einen benutzerdefinierten Pfad und einen Zertifikatpfad verwenden.

  • Starten Sie die Tomcat-Instanz neu, indem Sie in den Ordner bin gehen und die folgenden Skripts ausführen
./shutdown.sh
./startup.sh
  • Prüfen Sie die catalina.out Protokoll, und Sie sollten die folgende Bestätigung sehen, die für die Unterstützung konfiguriert ist h2
24-Feb-2019 19:43:47.559 INFO [main] org.apache.coyote.http11.AbstractHttp11Protocol.configureUpgradeProtocol The ["https-openssl-apr-443"] connector has been configured to support negotiation to [h2] via ALPN

Dies bedeutet, dass Tomcat bereit ist, Anforderungen über das HTTP2-Protokoll zu bearbeiten.

Testing if Tomcat is serving over H2

Woher wissen Sie, ob es wie erwartet funktioniert?

Es gibt mehrere Möglichkeiten, dies zu testen.

Chrome verwenden

Nützlich zum Testen von Intranet-Anwendungen.

  • Starten Sie Google Chrome
  • Öffnen Sie die Entwicklertools, indem Sie F12 drücken
  • Gehen Sie zur Registerkarte Netzwerk
  • Greifen Sie auf Ihre Tomcat-Anwendung zu und achten Sie darauf Protokoll Überblick

Tomcat-http2

Und wie Sie sehen, wurden die Anfragen mit h2 bearbeitet.

Using Logs

Sehen Sie sich die Datei access.log an und überprüfen Sie die eingehenden Anforderungen.

xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET / HTTP/2.0" 200 11468
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /tomcat.css HTTP/2.0" 200 5931
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /tomcat.png HTTP/2.0" 200 5103
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-button.png HTTP/2.0" 200 713
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-upper.png HTTP/2.0" 200 3103
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-nav.png HTTP/2.0" 200 1401
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /asf-logo-wide.svg HTTP/2.0" 200 27530
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /bg-middle.png HTTP/2.0" 200 1918
xx.xxx.xxx.xxx - - [24/Feb/2019:20:59:23 +0000] "GET /favicon.ico HTTP/2.0" 200 21630

Siehst du HTTP / 2.0 wird in jeder Anfrage kategorisiert?

Using Internet-based tools

Wenn Ihre Tomcat-Anwendungs-URL im Internet verfügbar ist, können Sie die folgenden Tools überprüfen.

Fazit

Die Implementierung von H2 auf Tomcat ist unkompliziert. Ich würde dringend empfehlen, Ihre Anwendung nach der Implementierung zu testen, um sicherzustellen, dass keine Nebenwirkungen auftreten.

Wenn Sie sich für die Tomcat-Administration interessieren, lesen Sie dies Online Kurs.

Danke an unsere Sponsoren
Weitere großartige Lesungen auf Tomcat
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder