Apache von http 1.1 auf http2 umstellen

Veröffentlicht von Lukas am

Google Chrome Developer Tools Network Hobbyblogging http2 Apache2 Webserver

Http 1.1 neigt sich seinem Ende. Denn der Standard wurde durch Http2 im Mai 2015 abgelöst, was für Webmaster einige Vorteile mit sich bringt. Natürlich sind neue Standards für viele ein Gebiet, auf dem man sich erst das nötige Wissen aneignen muss. Doch beschäftigt man sich einige Zeit mit dem neuen Standard wird einem klar, dass das jede Seite unbedingt braucht. Leider ist es aktuell noch so, dass die große Menge der Seiten gar nicht auf das neue Protokoll umgestellt hat. Dennoch gibt es immer mehr Seitenbetreiber, die es endlich in Angriff nehmen.

Auch hier bei Hobbyblogging haben wir nach unserem Umzug auf einen eigenen Server das neue Protokoll in Angriff genommen und aktiviert. Die Umstellung war ziemlich schnell abgewickelt und hat im Grunde keine Probleme verursacht. Der Trick dabei ist, dass man sich vorher gründlich informiert und alle nötigen Pakete bereits zum Zeitpunkt der Umstellung bereithält.

Damit du genauso schnell auf das neue Protokoll umsteigen kannst, erkläre ich dir die einzelnen Schritte und helfe dir dabei, deine Seite für den neuen Standard fit zu machen. Doch bevor wir damit anfangen, möchte ich dir noch ein paar Dinge zu http2 erzählen.

Vorteile, die http2 dir bietet

Grundsätzlich verspricht http2 unter anderem eine geringere Latenz, bessere Kompressionen und die Fähigkeit, mehrere Ressourcen gleichzeitig zu laden. Insbesondere die letzte Funktionalität, das sogenannte Multiplexing, kann Blogs und Websites im Punkt SEO enorm helfen. Denn wenn man mehrere Elemente parallel übertragen kann, verringert sich die Ladezeit des Gesamtdokuments. Und das gefällt Google sehr.

Unter http 1.1 war es bislang  so, dass immer nur ein Element pro Domain zur selben Zeit geladen werden konnte. Schickt man also direkt zu Beginn einer Seite ein sehr großes Bild, wird der Rest des Inhalts auch erst sichtbar, sobald das Bild plus die entsprechenden anzuzeigenden Daten geladen sind. Damit konnte sich die Ladezeit schon einmal auf ein unerträgliches Level heben.

Ich möchte damit allerdings http 1.1 gar nicht schlecht reden. Viel mehr ist es so, dass sich die Anforderungen an das Web in den letzten Jahren stark verändert haben. Seiten und Dienste werden immer komplexer und es reicht nicht mehr, nur reinen Text zu übertragen. Es werden Styledateien, JavaScript, Bilder und Videos im Netz umher geschickt. Durch die veränderte Nutzung musste man einfach reagieren.

Vertiefe dein Wissen:  Intranetsoftware für jedermann - Teil 2

Nachteile, die du durch http2 hast

Hier eine vollständige Liste der Nachteile:

 

Nein, Spaß beiseite. Im Grunde hast du durch http2 keinen einzigen Nachteil. Du bist lediglich darauf angewiesen, dass deine Domain durch ein gültiges SSL/TLS-Zertifikat geschützt wird. Denn es ist zwar so, dass der Standard http2 eine Verschlüsselung nicht zwingend voraussetzt, die Browserhersteller (Google, Mozilla) allerdings auf ein Zertifikat drängen, sofern man http2 benutzen möchte.

Das soll den positiven Nebeneffekt haben, dass das Web insgesamt sicherer wird. Denn über ein SSL/TLS-Zertifikat können Daten verschlüsselt zwischen deinem Computer und dem Server ausgetauscht werden. Ohne Zertifikat ginge das nicht.

Muss man sich Sorgen machen um ältere Browser?

Nein. Ganz und gar nicht.

Das Protokoll ist abwärtskompatibel was bedeutet, dass neben http2 auch noch http 1.1 unterstützt wird. Damit wird kein Browser von deiner Website ausgeschlossen und alle können deine schicken Katzenfotos noch ansehen. Sollten deine Besucherzahlen jedoch einbrechen nach der Umstellung, könnte es höchstens aufgrund der Erschrockenheit sein, dass man noch schneller noch mehr Katzen sehen muss.

Aber nun mal im Ernst, im Normalfall wird niemand einfach so „vom Internet ausgeschlossen“. Demnach wird es immer gewisse Kompatibilitäten geben. Natürlich sieht es bei Frameworks und anderen Dingen wieder anders aus. Doch http 1.1 ist nicht irgendeine Technologie oder ein Framework. Es ist im Grunde der wichtigste Bestandteil, ohne den es nicht so laufen würde wie es läuft.

Jetzt wird umgestellt – auch du kannst http2

Grundsätzlich ist es so, dass du – sofern du PHP nutzt – dieses deaktivieren musst. Du brauchst stattdessen das PHP-fpm Paket, über das die entsprechenden Seiten künftig ausgeliefert werden. In meinem Beispiel habe ich mir php7.2-fpm installiert. Das musst du an dieser Stelle auf deine Installation anpassen bzw. auf die Software, welche du auf deinem Server laufen lassen möchtest.

sudo apt-get install php7.2-fpm
sudo a2dismod php7.2

Sobald du das PHP-Modul deaktiviert hast, musst du das mpm_prefork deaktivieren. Dieses Modul implementiert ein im Voraus forkenden Webserver (mehr Infos bei Apache.org). Es ist allerdings nicht mit http2 kompatibel, da es nicht mehrere Anfragen gleichzeitig bearbeiten kann. Unter dem Link in diesem Absatz findest du hierüber nähere Informationen.

sudo a2dismod mpm_prefork

Jetzt kannst du http2 auf deinem Apache aktivieren. Das geht mit folgendem Befehl:

sudo a2enmod http2

Und zum Schluss noch das php-fpm:

sudo a2enmod php7.2-fpm

Nach all den Einstellungen muss man den Apache selbstverständlich noch neustarten, bevor alles nutzbar ist. Im Normalfall sollten nun keine Fehler auftreten und http2 steht für deinen Webserver bereit.

Vertiefe dein Wissen:  Datenvolumen: Das ewige Leiden

Aber!

Damit du http2 auch nutzen kannst mit deinen Websites, musst du das noch in deiner Konfiguration angeben. Öffne hierzu deine Virtual-Host-File und trage dort folgende Zeile ein:

Protocols h2 h2c http/1.1

Die entsprechende Datei findest du üblicherweise unter /etc/apache2/sites-enabled/. Sollte sie dort nicht zu finden sein, musst du dir ein wenig Zeit nehmen und sie suchen. Hol dir zuvor am besten noch eine Tasse Kaffee.

Kategorien: Web - Das Online-Leben

Avatar-Foto

Lukas

Als Softwareentwickler und Projektmanager mit einem Master of Science in Wirtschaftsinformatik weiß ich genau, wie die Dinge in der IT zu funktionieren haben. In meinem Blog kombiniere ich seit mehr als 7 Jahren mein Wissen mit meiner Neugier im Bereich Smart Home. Transparenz und Praxisnähe stehen für mich dabei im Vordergrund. Mein Fokus liegt vor allem auf der Software ioBroker, da ich mein eigenes Smart Home damit betreibe. Meine Beiträge basieren somit nicht nur auf theoretischem Know-how, sondern auch auf praktischen Erfahrungen aus meinem vernetzten Zuhause. Mein persönliches Ziel ist es, dir Einblicke in das Smart Home zu geben, die dich wirklich voranbringen.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert