Was ist HTTP/2? Diese Frage haben andere bereits ausführlich geklärt. https://http2.github.io/faq/ :) daher wollen wir dies heute in Kombination mit dem Apache Webserver ausprobieren.
Im Februar 2015 hat Google den Support für SPDY bereits zugunsten von HTTP/2 eingestellt. Und die Kompatibilität von HTTP/2 ist in fast allen aktuellen Webbrowsern gegeben, so das es bereits seit einiger Zeit keinen Grund gibt, nicht auf das neue Protokoll zu setzen. Seit dieser Woche unterstützt auch der Apache Webserver (2.4.17) das Protokoll, “Stefan Eissing” hat das Module “mod_http2” gesponsert, welches wir im folgenden testen werden.
Installation unter Ubuntu 14.04 via Fremdquellen (PPA)
Warnung: “Zusätzliche Fremdquellen können das System gefährden.”
–> https://wiki.ubuntuusers.de/paketquellen_freischalten/ppa
Zu beginn stellen wir sicher, dass SPDY nicht mehr verwendet wird.
a2dismod spdy
Und deinstallieren dies am besten direkt, falls dies über den Paket-Manager installiert wurde.
apt-get purge mod-spdy-beta
service apache2 restart
Um die Quellen (/etc/apt/sources.list.d/) nicht manuell zu ändern, installieren wir kurzerhand das Programm “add-apt-repository” via:
aptitude install software-properties-common
# Web: https://launchpad.net/~ondrej/+archive/ubuntu/apache2
# Issues: https://github.com/oerdnj/deb.sury.org/issues
#
add-apt-repository ppa:ondrej/apache2
Falls es beim Hinzufügen des Keys zu Problem kommt, kann man dies auch manuell durchführen:
apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 4F4EA0AAE5267A6C
Anschließend installieren wir das Update via “aptitude“, sodass wir mehr Kontrolle über den Update-Prozess haben.
apt-get update; aptitude
Nach der Installation können wir das “http2”-Module wie folgt aktivieren.
cd /etc/apache2/mods-available/
vim http2.load
# Depends: setenvif mime socache_shmcb
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so
vim http2.conf
<IfModule http2_module>
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Und anschließend muss das Module nur noch aktiviert werden:
a2enmod http2
service apache2 restart
Um zu testen, ob HTTP/2 via https genutzt wird, können wir z.B. direkt im Chrome nachschauen. Dafür öffnen wir einfach die Seite chrome://net-internals und nutzen oben links im DropDown-Menü den Punkt “HTTP/2”.
Quellen:
- Apache + HTTP/2: http://www.us.apache.org/dist//httpd/CHANGES_2.4.17
- Nginx + HTTP/2: http://mailman.nginx.org/pipermail/nginx-devel/2015-September/007328.html
- HowTo: https://icing.github.io/mod_h2/howto.html
- Repo: https://launchpad.net/~ondrej/+archive/ubuntu/apache2
- Präsentation: http://slidedeck.io/Schepp/HTTP-2
- Demo: https://http2.akamai.com/demo