Aktivierung des Protokolls HTTP/2 auf dem Webserver

20.03.2019 | Petra Alm

Über das Protokoll HTTP/2 wurde in den letzten drei Jahren viel geschrieben und der Begriff ist Ihnen bestimmt bereits bekannt. Der Nachfolger des Protokolls HTTP 1.1. aus den neunziger Jahren beschleunigt das Aufrufen von Webseiten deutlich und falls die Website mit einer großen Anzahl von Bildern ausgestattet ist, kann das Protokoll sogar Magisches leisten. Deshalb bringen wir Ihnen eine Anweisung, wie Sie HTTP/2 auf Ihrem Server einschalten können.

HTTP/2 auf dem Server Apache einschalten

Für die Einschaltung von HTTP/2 auf dem Apache Server ist die Paket-Version 2.4.17 erforderlich (die erste Version von Apache mit der nativen Unterstützung, nicht mit einem externen Modul). Welche Version es auf Ihrem Server gibt können Sie über das Terminal folgendermaßen feststellen (dabei ist Zugang zu SSH nötig):

apache2 -version

Falls Sie nicht einen direkten Zugriff zu Ihrem Server haben und Webhosting-Dienste ausnutzen, fragen Sie Ihren Provider um die Aktivierung von HTTP/2, oder um einen Umzug auf einen neueren Server. Falls Ihr Webhoster Website info.php anzeigen kann, werden Sie die Webserver-Version nach der Eingabe http://domainname.de/info.php in den Browser erfahren.

Wenn die Bedingung der unterstützten Apache-Version erfüllt wird, muss weiter noch das entsprechende Modul zugelassen werden und das Protokoll HTTP/2 in der Konfiguration des Webs (vhost) eingeschaltet werden. Das Modul für HTTP/2 lässt sich folgendermaßen aktivieren:

a2enmod http2

Nach der erfolgreichen Einschaltung sollten Sie die folgende Antwort erhalten:

Enabling module http2.
To activate the new configuration, you need to run:
systemctl restart apache2

Auch den Befehl systemctl restart apache2 führen Sie nachfolgend durch, somit Apache neugestartet wird und sich die Änderung auswirkt.

Nur dieser Schritt reicht nicht aus. Das HTTP/2 muss auch bei den konkreten vhosts eingeschaltet werden. Öffnen Sie ihre Konfiguration (auf Debian und seinen Derivaten finden Sie diese in den Ordner etc/apache2/sites-enabled/ als die Dateien .conf, für jede Domain gibt es eine Konfiguration) und in die genutzten Protokolle ergänzen Sie h2 und h2c in die mit   beginnende Sektion:

Protocols h2 h2c http/1.1


Dank dieser Anpassung haben Sie bei dem Web die Nutzung des Protokolls HTTP/2 aktiviert. Nun brauchen Sie Apache nur neuzustarten:

service apache2 restart oder /etc/init.d/apache2 restart

und das Ergebnis zu überprüfen (siehe den letzten Abschnitt).

HTTP/2 auf dem Server Nginx einschalten

Für HTTP/2 benötigen Sie die Server-Version Nginx 1.9.5 und die Bibliothek OpenSSL in der Version 1.0.2. Die Information über den Server erhalten Sie gleich wie beim Apache:

nginx -v

Nachfolgend öffnen Sie die Konfigurationsdatei der Domain (vhost sollte sich in den Ordner /etc/nginx/sites-available/ befinden) und zu der Direktive listen ergänzen Sie http2:

listen 443 ssl http2;

Starten Sie Nginx neu und die Änderung wird sich gleich auswirken:

service nginx restart oder /etc/init.d/nginx restart

Die Kontrolle führen Sie nach dem letzten Abschnitt dieser Anleitung durch.

HTTP/2 auf dem Windows Server einschalten

Bei dem Windows Server ist die Unterstützung von diesem Protokoll von den Bibliotheken des Systems bestimmt und somit von der konkreten Version des Systems Windows Server abhängig. HTTP/2 unterstützt Microsoft seit Windows Server 2016 und IIS 10 (mehr in unserem Artikel) und falls Sie Ihr Web auf dieser Plattform mit eingeschaltetem HTTP/2 betreiben möchten, müssen Sie es auf diese Version upgraden.

Kontrolle der Einstellung

Wie bei jeder Konfigurationsänderung muss auch hier das Ergebnis überprüft werden, um sich darüber zu versichern, dass alles nach unseren Vorstellungen funktioniert. Die schnellste Lösung ist die eben angepasste Domain aufzurufen und sich das Protokoll der Verbindung in der Console des Browsers anzuschauen. Diese lässt sich über die Taste F12 öffnen. In Mozilla klicken Sie Netzwerkanalyse an und falls die Spalte mit dem Verbindungsprotokoll nicht angezeigt wird, klicken Sie mit der rechten Maustaste Status an und wählen Sie Protokoll aus.

Protokoll in der Konsole anzeigen

Sobald das Protokoll dargestellt wird, sollten Sie als das auf dem Web genutzte Webprotokoll HTTP/2.0 oder H2 sehen. Externe Quellen können natürlich ein anderes Protokoll nutzen.

Die Kontrolle können Sie auch über externe Tools durchführen. Den Namen Ihrer Domain können Sie zum Beispiel hier eingeben und es wird Ihnen umgehend angezeigt, ob die Domain auf HTTP/2 läuft oder nicht.

Bemerkung

Falls Sie in der Einstellung von Webservern nicht ganz versiert sind, empfehlen wir Ihnen den Beispielen auf bestessl.eu zu folgen. Hier finden Sie richtige Beispiele der Einstellung der Webserver Apache und Nginx. Falls Ihnen aber die Anweisungen nicht ganz klar ist, empfehlen wir Ihnen, die Servereinstellung Ihrem Administrator zu überlassen.


Petra Alm
Spezialistin für TLS-Zertifikate
DigiCert TLS/SSL Professional
e-mail: info(at)sslmarket.de