Apache von http 1.1 auf http2 umstellen
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.
Voller Stolz dürfen wir verkünden: Hobbyblogging ist endlich über https2 erreichbar!
Das bedeutet für dich: schnellere Ladezeiten, kürzere Wartezeiten und mehr Power!https://t.co/C8KzFwWiS9
— Hobbyblogging (@hobbyblogging) 8. Oktober 2018
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.
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.
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.
0 Kommentare