HTTP/2 wird von immer mehr Browsern unterstützt, nur bei den Webservern klemmt es teilweise noch. Für Nginx ist nun ein erster Patch erschienen, der das neue Protokoll einbindet.
Dafür ist es natürlich zuerst notwendig, dass Nginx selbst kompiliert wird. Ich verwende den aktuellen Mainline-Zweig (derzeit 1.9.4) als Basis, dazu muss noch OpenSSL 1.0.2 installiert sein. Im Nginx-Blog ist ein Beitrag mit dem passenden Patch erschienen.
Der Patch selbst ist recht einfach durchgeführt. Zuerst muss die Patch-Datei heruntergeladen werden:
wget http://nginx.org/patches/http2/patch.http2.txt
Ist das geschafft, sollte man zuerst einen Testlauf durchführen. Ansonsten kann es auch in einer Testumgebung zu unnützem Zeitaufwand kommen (folgendes im Nginx-Verzeichnis ausführen, ggf. den Pfad zur Patch-Datei anpassen):
patch -p1 --dry-run < patch.http2.txt
Hat das geklappt – ohne Fehlermeldungen oder sonstige Auffälligkeiten – kann man zur Tat schreiten und den Patch anwenden:
patch -p1 < patch.http2.txt
Danach wird nginx ganz normal kompiliert, nur das bei den ./configure-Optionen zusätzlich –with-http_v2_module angegeben wird – ansonsten ist die Konfiguration identisch zu der Konfiguration mit SPDY.
Nach der Installation bekommt man einen Nginx-Server mit HTTP/2 Support. Obwohl es sich bei dem Patch um eine Alpha-Version handelt, die nicht im Produktiv-Betrieb eingesetzt werden sollte, läuft Nginx 1.9.4 mit HTTP/2 recht stabil – wenn du diesen Beitrag lesen kannst, ist dies der Beweis.
HTTP/2 als offizieller und im Mai verabschiedeter Nachfolger von HTTP 1.1 basiert zu Großteilen auf Arbeit von Google (SPDY) und Microsoft (HTTP Speed+Mobility) und soll das Laden von Webseiten deutlich beschleunigen. Gesteigerte Sicherheit ist ebenfalls ein Aspekt: ohne SSL gibt es derzeit seitens der Browser keinen Support für HTTP/2.