nginx

Модуль ngx_http_gzip_module


english
русский

简体中文
עברית
日本語
türkçe

новости [en]
об nginx
скачать
безопасность [en]
pgp ключи [en]
документация
faq
ссылки [en]
книги [en]
поддержка
пожертвования [en]

trac
wiki
twitter
nginx.com
Пример конфигурации
Директивы
     gzip
     gzip_buffers
     gzip_comp_level
     gzip_disable
     gzip_min_length
     gzip_http_version
     gzip_proxied
     gzip_types
     gzip_vary

Модуль ngx_http_gzip_module — это фильтр, сжимающий ответ методом gzip, что позволяет уменьшить размер передаваемых данных в 2 и более раз.

Пример конфигурации

gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;

Для записи в лог полученной степени сжатия можно использовать переменную $gzip_ratio.

Директивы

синтаксис: gzip on | off;
умолчание:
gzip off;
контекст: http, server, location, if в location

Разрешает или запрещает сжатие ответа методом gzip.

синтаксис: gzip_buffers число размер;
умолчание:
gzip_buffers 32 4k|16 8k;
контекст: http, server, location

Задаёт число и размер буферов, в которые будет сжиматься ответ. По умолчанию размер одного буфера равен размеру страницы. В зависимости от платформы это или 4K, или 8K.

До версии 0.7.28 по умолчанию использовалось 4 буфера размером 4K или 8K.

синтаксис: gzip_comp_level степень;
умолчание:
gzip_comp_level 1;
контекст: http, server, location

Устанавливает степень сжатия ответа методом gzip. Допустимые значения находятся в диапазоне 1..9.

синтаксис: gzip_disable regex ...;
умолчание:
контекст: http, server, location

Эта директива появилась в версии 0.6.23.

Запрещает сжатие ответа методом gzip для запросов с полями заголовка “User-Agent”, совпадающими с заданными регулярными выражениями.

Специальная маска “msie6” (0.7.12) соответствует регулярному выражению “MSIE [4-6]\.”, но работает быстрее. Начиная с версии 0.8.11, из этой маски исключается “MSIE 6.0; ... SV1”.

синтаксис: gzip_min_length длина;
умолчание:
gzip_min_length 20;
контекст: http, server, location

Устанавливает минимальную длину ответа, который будет сжиматься методом gzip. Длина определяется только из поля “Content-Length” заголовка ответа.

синтаксис: gzip_http_version 1.0 | 1.1;
умолчание:
gzip_http_version 1.1;
контекст: http, server, location

Устанавливает минимальную HTTP-версию запроса, необходимую для сжатия ответа.

синтаксис: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
умолчание:
gzip_proxied off;
контекст: http, server, location

Разрешает или запрещает сжатие ответа методом gzip для проксированных запросов в зависимости от запроса и ответа. То, что запрос проксированный, определяется на основании наличия поля “Via” в заголовке запроса. В директиве можно указать одновременно несколько параметров:

off
запрещает сжатие для всех проксированных запросов, игнорируя остальные параметры;
expired
разрешает сжатие, если в заголовке ответа есть поле “Expires” со значением, запрещающим кэширование;
no-cache
разрешает сжатие, если в заголовке ответа есть поле “Cache-Control” с параметром “no-cache”;
no-store
разрешает сжатие, если в заголовке ответа есть поле “Cache-Control” с параметром “no-store”;
private
разрешает сжатие, если в заголовке ответа есть поле “Cache-Control” с параметром “private”;
no_last_modified
разрешает сжатие, если в заголовке ответа нет поля “Last-Modified”;
no_etag
разрешает сжатие, если в заголовке ответа нет поля “ETag”;
auth
разрешает сжатие, если в заголовке запроса есть поле “Authorization”;
any
разрешает сжатие для всех проксированных запросов.

синтаксис: gzip_types mime-тип ...;
умолчание:
gzip_types text/html;
контекст: http, server, location

Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к “text/html”. Специальное значение “*” соответствует любому MIME-типу (0.8.29). Ответы с типом “text/html” сжимаются всегда.

синтаксис: gzip_vary on | off;
умолчание:
gzip_vary off;
контекст: http, server, location

Разрешает или запрещает выдавать в ответе поле заголовка “Vary: Accept-Encoding”, если активны директивы gzip, gzip_static или gunzip.