Benutzung von mod_spdy mit Apache2 unter Debian Squeeze

Version 1.0

Author: Falko Timme , Christian Schmalfeld <c [dot] schmalfeld [at] projektfarm [dot] de>
Follow me on Twitter

SPDY (ausgesprochen "SPeeDY") ist ein neues Netzwerkprotokoll mit dem Ziel, das Internet zu beschleunigen. Es ist Googles Alternative zum HTTP Protokoll und ein Kandidat für HTTP/2.0. SPDY bereichert HTTP mit diversen geschwindigkeitsbezogenen Features wie Stream Multiplexing und Header Kompression. Um SPDY zu benutzen, benötigen Sie einen Webserver und einen Browser, welche SPDY unterstützen (wie Google Chrome oder zukünftige Firefox Versionen). mod_spdy ist ein quelloffenes Apache Modul, welches dem Apache HTTPD Server Unterstützung für das SPDY Protokoll hinzufügt. Dieses Tutorial erklärt Ihnen, wie man mod_spdy unter Debian Squeeze mit Apache2 verwendet.

Für die Richtigkeit der Inhalte dieses Tutorial gebe ich keinerlei Garantie.

1 Vorbemerkung

SPDY läuft über HTTPS, also brauchen Sie eine Seite mit Zugang über HTTPS um es zu testen. Beachten Sie bitte, dass SPDY auf HTTPS zurückfallen wird, sollte Ihr Browser SPDY nicht unterstützen. Daher ist ihr Setup durch eine Installation von SPDY nicht gefährdet.

Ich nehme an, dass Sie eine funktionierende LAMP Installation aufgesetzt haben, so wie in diesem Tutorial beschrieben: Apache2 mit PHP5 und MySQL Unterstützung unter Debian Squeeze installieren (LAMP).

Für Testzwecke werde ich einfach die Standard SSL Webseite benutzen, welche mit Debians Apache Paket geliefert wird (Sie brauchen dies nicht zu tun, wenn Sie bereits eine SSL Webseite auf Ihrem Server haben).

Um SSL zu aktivieren, benutzen Sie:

a2enmod ssl

Um die Standard-SSL-Webseite zu aktivieren, benutzen Sie:

a2ensite default-ssl

Starten Sie Apache danach neu:

/etc/init.d/apache2 restart

Benutzen Sie die URL der Standard-SSL-Seite (z.B. https://www.example.com) und testen Sie, ob es funktioniert (Ich benutze hier ein selbstsigniertes Zertifikat, was der Grund für die Zertifikatswarnung ist - dies spielt jedoch im Bezug auf SPDY keine Rolle):

2 Installation von mod_spdy

Google stellt unter https://developers.google.com/speed/spdy/mod_spdy/ Debian Pakete für mod_spdy zur Verfügung. Laden Sie einfach das zu Ihrer Architektur gehörige (32- or 64-bit) auf Ihren Server herunter...

64-bit:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_amd64.deb

32-bit:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.deb

... und installieren Sie es folgendermaßen:

dpkg -i mod-spdy-*.deb
apt-get -f install

(Dies wird außerdem die Google mod_spdy Repository zu Ihren apt Quellen hinzufügen, sodass das Modul immer auf dem aktuellsten Stand bleibt:

cat /etc/apt/sources.list.d/mod-spdy.list

### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost. deb http://dl.google.com/linux/mod-spdy/deb/ stable main
)

Starten Sie Apache danach neu:

/etc/init.d/apache2 restart

Das Gute ist, dass mod_spdy keine Konfiguration benötigt, es funktioniert ganz von allein!

(Tatsächlich gibt es eine Konfigurationsdatei, /etc/apache2/mods-available/spdy.conf, allerdings sollten die Standardeinstellungen in Ordnung sein.

cat /etc/apache2/mods-available/spdy.conf

<IfModule spdy_module>
# Turn on mod_spdy. To completely disable mod_spdy, you can set # this to "off". SpdyEnabled on # In order to support concurrent multiplexing of requests over a # single connection, mod_spdy maintains its own thread pool in # each Apache child process for processing requests. The default # size of this thread pool is very conservative; you can override # it with a larger value (as below) to increase concurrency, at # the possible cost of increased memory usage. # #SpdyMaxThreadsPerProcess 30 # Memory usage can also be affected by the maximum number of # simultaneously open SPDY streams permitted for each client # connection. Ideally, this limit should be set as high as # possible, but you can tweak it as necessary to limit memory # consumption. # #SpdyMaxStreamsPerConnection 100 </IfModule>
Hier können Sie mehr über die Konfigurationsoptionen erfahren https://developers.google.com/speed/spdy/mod_spdy/install.

)

3 Testen

Um zu testen, ob SPDY funktioniert, brauchen Sie einen Browser mit SPDY Unterstützung, z.B. Google Chrome. Öffnen Sie Chrome und laden Sie Ihre SSL Seite neu (z.B. https://www.example.com) - es ist wichtig, diese neu zu laden, sodass sie SPDY benutzen kann (das erste Mal als Sie sie in Kapitel 1 geladen haben, hat sie das normale HTTPS benutzt). Öffnen Sie anschließend ein neues Tab und geben folgende URL ein:

chrome://net-internals/#spdy

Ist alles gut gelaufen, sollte Ihr SSL vHost in der Tabelle aufgelistet sein, was bedeutet, dass die SPDY Unterstützung funktioniert.


(Aufgrund von SPDYs Fallback Mechanismus zu HTTPS wird Ihr SSL vHost immernoch in allen anderen Browsern funktionieren, welche SPDY nicht unterstützen.)

4 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte