Nginx: HTTP/2 über Alpha-Patch verfügbar

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.

nginx_logoDafü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.