Ativar gzip no Nginx

2

Sim, eu sei que há muitas outras perguntas que parecem exatamente assim por aí. Eu acho que devo ter olhado todos eles. Duas vezes. Em desespero, estou adicionando outro caso minha configuração específica seja o problema. Fique comigo.

Primeiro, a pergunta: O que eu preciso fazer para que a compactação gzip funcione?

Eu tenho um servidor Ubuntu 12.04 instalado rodando o nginx 1.1.19. O Nginx foi instalado com os seguintes pacotes:

nginx
nginx-common
nginx-full

O bloco http do meu nginx.conf é assim:

http {
  include /etc/nginx/mime.types;

  access_log /var/log/nginx/access.log;

  sendfile on;

  keepalive_timeout  65;
  tcp_nodelay        on;

  gzip  on;
  gzip_disable "msie6";

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
}

Tanto o PageSpeed quanto o YSlow estão relatando que eu preciso ativar a compactação. Posso ver que os cabeçalhos de solicitação indicam Accept-Encoding:gzip,deflate,sdch , mas os cabeçalhos de resposta não têm o corolário Content-Encoding header.

Eu tentei vários outros valores de configuração ( gzip_vary on , gzip_http_version 1.0 , etc.), mas sem alegria.

Até onde sei, só posso supor que o nginx foi compilado com suporte à compactação, mas se houver alguma maneira de verificar isso, eu adoraria saber.

Se alguém vir alguma coisa que estiver faltando ou puder sugerir mais depuração, informe-nos. Eu não sou sysadmin e sou novo no Nginx, então eu exausto tudo o que posso pensar ou li.

Obrigado.

    
por Rob Wilkerson 30.08.2012 / 17:33

1 resposta

4

Se o nginx não concordar com gzip on; no seu arquivo de configuração, ele será compilado com o módulo gzip. Por padrão, ele apenas compacta as respostas de texto / html. Você precisa configurar gzip_types se quiser compactar qualquer outra coisa (css, js, etc).

    
por 30.08.2012 / 17:46