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 CentOS 6.4.
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 CentOS 6.4 (LAMP).
Pro účely testování jednoduše použiji výchozí webovou stránku SSL, která je dodávána s balíčkem Apache na CentOS (nemusíte to dělat, pokud již máte webovou stránku SSL na svém serveru). Pokud nemáte webovou stránku SSL, můžete povolit výchozí webovou stránku SSL takto:
yum install mod_ssl openssl
openssl genrsa -out ca.key 4096
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
[...] SSLCertificateFile /etc/pki/tls/certs/ca.crt [...] SSLCertificateKeyFile /etc/pki/tls/private/ca.key [...] |
/etc/init.d/httpd restart
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):
2 Instalace mod_spdy
Nejprve se ujistěte, že je nainstalovaný:
yum install at
Google poskytuje balíčky Fedora/CentOS pro mod_spdy na https://developers.google.com/speed/spdy/mod_spdy/. Jednoduše si stáhněte ten správný pro vaši architekturu (32- nebo 64bitový) na váš server...
64bitová verze:
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm
32bitová verze:
cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm
... a nainstalujte jej následovně:
rpm -U mod-spdy-*.rpm
Poté restartujte Apache:
/etc/init.d/httpd restart
Dobrá věc je, že mod_spdy nepotřebuje žádnou konfiguraci, funguje hned po vybalení!
(Ve skutečnosti existuje konfigurační soubor /etc/httpd/conf.d/spdy.conf, ale výchozí nastavení by mělo být v pořádku.
cat /etc/httpd/conf.d/spdy.conf
LoadModule spdy_module /usr/lib64/httpd/modules/mod_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.
)
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, měl by být váš SSL vhost 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/
- Binární balíčky mod_spdy:https://developers.google.com/speed/spdy/mod_spdy/
- Konfigurace mod_spdy:https://developers.google.com/speed/spdy/mod_spdy/install
- Apache:http://httpd.apache.org/
- CentOS:http://www.centos.org/