Configurando o NGINX com SPDY
Leia em 1 minuto
O Google criou um protocolo de rede chamado SPDY (leia-se speedy), com o objetivo de reduzir o tempo inicial de carregamento de páginas web.
O SPDY não veio para substituir o protocolo HTTP. Na verdade, ele modifica o modo como as respostas e requisições HTTP são realizadas. Em vez de realizar diversas requisições para carregar os elementos de uma página, o SPDY estabelece uma única conexão e trabalha com multiplexing, ou seja, pacotes de diversas requisições são combinados e enviados por esta única conexão. Com isso, é possível ter até 64% de redução no tempo de carregamento das páginas.
Mas e quanto aos navegadores que suportam o SPDY? O suporte ainda não é completo, mas a lista já é bastante promissora.
- Firefox 15+
- Chrome 11+
- Opera
Instalando o NGINX com suporte ao SPDY
Se você se interessou, saiba que o NGINX possui suporte experimental ao SPDY. Esta funcionalidade foi patrocinada pela Automattic, empresa por trás do Wordpress.
Para instalar o NGINX com suporte ao SPDY, você vai precisar compilá-lo à partir do código-fonte.
$ wget http://nginx.org/download/nginx-1.3.13.tar.gz
$ tar xvfz nginx-1.3.13.tar.gz
$ cd nginx-1.3.13
$ wget http://nginx.org/patches/spdy/patch.spdy.txt
$ patch -p1 < patch.spdy.txt
$ ./configure --with-http_ssl_module --with-http_spdy_module
$ make
$ make install
Se você está usando o Ubuntu 12.04 Precise Pangolin, pode usar o repositório Debian da Hellobits, que possui o pacote nginx-plus
, com algumas outras extensões como Redis, Websockets e outras.
Primeiro, adicione a chave pública GPG.
$ wget -O - http://apt.hellobits.com/hellobits.key | sudo apt-key add -
Depois, adicione o repositório.
echo 'deb http://apt.hellobits.com/ precise main' | sudo tee /etc/apt/sources.list.d/hellobits.list
Agora basta atualizar a lista de pacotes e instalar o pacote nginx-plus
.
$ sudo apt-get update
$ sudo apt-get install nginx-plus
Configurando o NGINX
Você vai precisar de um certificado SSL para poder usar o SPDY. Se você precisa de certificados SSL, recomendo o site CheapSSLs. Um certificado de 5 anos da PositiveSSL custa apenas $25.
Para configurar o NGINX, basta adicionar poucas linhas ao seu bloco server
. Veja, por exemplo, as configurações que estou usando no Simples Ideias.
server {
listen 443 ssl spdy;
server_name nandovieira.com.br;
root /var/www/simplesideias/current/public;
ssl_certificate /etc/nginx/ssl/nandovieira.com.br/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/nandovieira.com.br/ssl.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
# other config
}
Verifique se as configurações estão corretas e reinicie o servidor.
$ sudo nginx -t
$ sudo nginx -s reload
Se você usa o Google Chrome, existe uma extensão que permite verificar se o site que você está visitando possui suporte ao SPDY. O Firefox possui uma extensão semelhante.