SPDY (pronounced "SPeeDY") is a new networking protocol whose goal is to speed up the web. It is Google's alternative to the HTTP protocol and a candidate for HTTP/2.0. SPDY augments HTTP with several speed-related features such as stream multiplexing and header compression. To use SPDY, you need a web server and a browser (like Google Chrome and upcoming versions of Firefox) that both support SPDY. mod_spdy is an open-source Apache module that adds support for the SPDY protocol to the Apache HTTPD server. This tutorial explains how to use mod_spdy with Apache2 on Debian Squeeze.
I do not issue any guarantee that this will work for you!
1 Preliminary NoteSPDY runs over HTTPS, so we need an HTTPS-enabled web site to test SPDY. Please note that SPDY will fall back to HTTPS if the user's browser does not support SPDY or if things go wrong, so installing mod_spdy doesn't hurt your existing setup.
I'm assuming that you have a working LAMP setup, as described on Installing Apache2 With PHP5 And MySQL Support On Debian Squeeze (LAMP).
For testing purposes I wil lsimply enable the default SSL web site that comes with Debian's Apache package (you don't need to do this if you already have an SSL web site on your server).
To enable SSL, just run:
a2enmod sslTo enable the default SSL web site, run:
a2ensite default-sslRestart Apache afterwards:
/etc/init.d/apache2 restartGo to the default SSL web site's URL (e.g. https://www.example.com) and test if it works (I'm using the default self-signed certificate here, that's why I have a certificate warning, but this has no effect on using SPDY):
2 Installing mod_spdyGoogle provides Debian packages for mod_spdy on https://developers.google.com/speed/spdy/mod_spdy/. Simply download the correct one for your architecture (32- or 64-bit) to your server...
cd /tmp... and install it as follows:
dpkg -i mod-spdy-*.deb(This will also add the Google mod_spdy repository to the apt sources so that the module will be kept up-to-date:
apt-get -f install
apt-get -f install
### 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
Restart Apache afterwards:
/etc/init.d/apache2 restartThe good thing is, mod_spdy needs no configuration, it works out of the box!
(In fact, there is a configuration file, /etc/apache2/mods-available/spdy.conf, but the default settings should be ok.
3 TestingNow let's test if SPDY is working. We need a browser with SPDY support. e.g. Google Chrome. Open Chrome and reload your SSL web site (e.g. https://www.example.com) - it is important that you reload it so that it can use SPDY (the first time you loaded it in chapter 1 it used normal HTTPS). Afterwards, open a new tab and type in the URL
chrome://net-internals/#spdyIf everything went well, your SSL vhost should now be listed in the table which means SPDY support is working.
(Because of SPDY's fallback mechanism to HTTPS, your SSL vhost will still work in any other browser that does not support SPDY.)
- SPDY: https://developers.google.com/speed/spdy/
- Apache mod_spdy: http://code.google.com/p/mod-spdy/
- mod_spdy Binary Packages: https://developers.google.com/speed/spdy/mod_spdy/
- mod_spdy Configuration: https://developers.google.com/speed/spdy/mod_spdy/install
- Apache: http://httpd.apache.org/
- Debian: http://www.debian.org/