SPDY (vyslovováno „SPeeDY“) je nový síťový protokol, jehož cílem je zrychlit web. Je to alternativa společnosti Google k protokolu HTTP a kandidát na HTTP/2.0. SPDY rozšiřuje HTTP o několik funkcí souvisejících s rychlostí, jako je streamování multiplexování a komprese záhlaví. Chcete-li používat SPDY, potřebujete webový server a prohlížeč (jako je Google Chrome a nadcházející verze Firefoxu), které podporují SPDY. mod_spdy je open-source modul Apache, který přidává podporu protokolu SPDY k serveru Apache HTTPD. Tento tutoriál vysvětluje, jak používat mod_spdy s Apache2 na OpenSUSE 12.2.
1 předběžná poznámka
SPDY běží přes HTTPS, takže k testování SPDY potřebujeme webovou stránku podporující HTTPS. Vezměte prosím na vědomí, že SPDY se vrátí k HTTPS, pokud prohlížeč uživatele nepodporuje SPDY nebo pokud se něco pokazí, takže instalace mod_spdy nepoškodí vaše stávající nastavení.
Předpokládám, že máte funkční nastavení LAMP, jak je popsáno v části Instalace Apache2 s podporou PHP5 a MySQL na OpenSUSE 12.2 (LAMP).
Než budeme pokračovat, musíme povolit SSL v Apache:
a2enmod ssl
a2enflag SSL
systemctl restart apache2.service
Pro účely testování jednoduše použiji výchozí webovou stránku SSL, která je součástí balíčku Apache od OpenSUSE (nemusíte to dělat, pokud již máte webovou stránku SSL na svém serveru).
Vytvořte certifikát s vlastním podpisem pro výchozí SSL vhost...
openssl genrsa -des3 -out /etc/apache2/ssl.key/server.key.org 4096
openssl req -new -key /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.crt/server.csr
openssl x509 -req -days 365 -in /etc/apache2/ssl.crt/server.csr -signkey /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.crt/server.crt
openssl rsa -in /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.key/server.key
chmod 400 /etc/apache2/ssl.key/server.key
... a povolte výchozí SSL vhost:
cd /etc/apache2/vhosts.d
cp vhost-ssl.template vhost-ssl.conf
systemctl restart apache2.service
Přejděte na adresu URL výchozí webové stránky SSL (např. https://www.example.com) a otestujte, zda funguje (zde používám výchozí certifikát podepsaný svým držitelem, proto mám upozornění na certifikát, ale toto nemá vliv na používání SPDY; také si nedělejte starosti s chybou 403 Forbidden – to se stává, protože v kořenovém adresáři dokumentu není žádný soubor indexu):
2 Instalace mod_spdy
mod_spdy lze nainstalovat následovně:
zypper install http://download.opensuse.org/repositories/Apache/openSUSE_12.2/x86_64/apache2-mod_spdy-0.9.1.5-1.1.x86_64.rpm
(Bohužel v době psaní tohoto článku neexistuje žádný balíček mod_spdy pro systémy i386, takže to funguje pouze na systémech x86_64.)
Dále vytvořte konfigurační soubor mod_spdy /etc/apache2/conf.d/spdy.conf:
vi /etc/apache2/conf.d/spdy.conf
LoadModule spdy_module /usr/lib64/apache2/libmod_spdy.so <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> |
Další informace o možnostech konfigurace najdete na https://developers.google.com/speed/spdy/mod_spdy/install.
Poté restartujte Apache:
systemctl restart apache2.service
3 testování
Nyní otestujeme, zda SPDY funguje. Potřebujeme prohlížeč s podporou SPDY. např. Google Chrome. Otevřete Chrome a znovu načtěte svou webovou stránku SSL (např. https://www.example.com) – je důležité, abyste ji znovu načetli, aby mohla používat SPDY (při prvním načtení v kapitole 1 používala normální HTTPS). Poté otevřete novou kartu a zadejte adresu URL
chrome://net-internals/#spdy
Pokud vše proběhlo v pořádku, váš SSL vhost by měl být nyní uveden v tabulce, což znamená, že podpora SPDY funguje.
(Vzhledem k záložnímu mechanismu SPDY k HTTPS bude váš SSL vhost stále fungovat v jakémkoli jiném prohlížeči, který nepodporuje SPDY.)
4 odkazy
- SPDY:https://developers.google.com/speed/spdy/
- Apache mod_spdy:http://code.google.com/p/mod-spdy/
- Konfigurace mod_spdy:https://developers.google.com/speed/spdy/mod_spdy/install
- Apache:http://httpd.apache.org/
- OpenSUSE:http://www.opensuse.org/