Да, я знаю, что есть много других вопросов, которые кажутся точно такими же. Думаю, я, должно быть, всех их посмотрел. Дважды. В отчаянии я добавляю еще один на тот случай, если проблема в моей конкретной конфигурации. Потерпите меня.
Во-первых, вопрос: что мне нужно сделать, чтобы сжатие 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, поэтому исчерпал все, что мог придумать или прочитать.
Спасибо.
Если nginx не жалуется на gzip on;
находясь в вашем файле конфигурации, то он был скомпилирован с помощью модуля gzip. По умолчанию он сжимает только ответы text / html. Вам необходимо настроить gzip_types если вы хотите сжать что-нибудь еще (css, js и т. д.).