Включить gzip на Nginx

Да, я знаю, что есть много других вопросов, которые выглядят именно так. Я думаю, что я посмотрел их всех. Дважды. В отчаянии я добавляю еще одну на тот случай, если проблема заключается в моей конкретной конфигурации. Потерпите меня.

Во-первых, вопрос: что мне нужно сделать, чтобы заставить работать сжатие gzip?

У меня установлен сервер Ubuntu 12.04 под управлением nginx 1.1.19. Nginx был установлен со следующими пакетами:

nginx
nginx-common
nginx-full

http блок моего nginx.conf выглядит так:

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/*;
}

И PageSpeed, и YSlow сообщают, что мне нужно включить сжатие. Я вижу, что заголовки запроса указывают Accept-Encoding:gzip,deflate,sdch, но заголовки ответа не имеют следствия Content-Encoding заголовок.

Я пробовал различные другие значения конфигурации (gzip_vary on, gzip_http_version 1.0и т. д.), но не радость.

Насколько я знаю, я могу только предположить, что nginx был скомпилирован с поддержкой сжатия, но если есть какой-то способ проверить это, я хотел бы знать.

Если кто-нибудь увидит что-то, чего мне не хватает, или может предложить дальнейшую отладку, пожалуйста, дайте мне знать. Я не сисадмин и я новичок в Nginx, поэтому я исчерпал все, что могу придумать или прочитать.

Благодарю.

1 ответ

Решение

Если nginx не жалуется gzip on; Находясь в вашем файле конфигурации, он был скомпилирован с помощью модуля gzip. По умолчанию он сжимает только текстовые /html ответы. Вам нужно настроить gzip_types, если вы хотите сжать что-нибудь еще (css, js и т. Д.).

Другие вопросы по тегам