Spec-Zone.ru › nginx

Модуль ngx_http_gzip_module

  • Пример конфигурации
  • Директивы
  • gzip
  • gzip_buffers
  • gzip_comp_level
  • gzip_disable
  • gzip_http_version
  • gzip_min_length
  • gzip_proxied
  • gzip_types
  • gzip_vary
  • Встроенные переменные

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

При использовании протокола SSL/TLS сжатые ответы могут быть уязвимы к атакам BREACH.

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

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 in location

Включает или отключает сжатие ответов с помощью gzip.

Синтаксис: gzip_buffers number size;
По умолчанию: gzip_buffers 32 4k|16 8k;
Контекст: http, server, location

Устанавливает number и size буферов, используемых для сжатия ответа. По умолчанию размер буфера равен одной странице памяти. Это либо 4К, либо 8К, в зависимости от платформы.

До версии 0.7.28 по умолчанию использовалось четыре буфера размером 4К или 8К.
Синтаксис: gzip_comp_level level;
По умолчанию: gzip_comp_level 1;
Контекст: http, server, location

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

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

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

Отключает сжатие ответов для запросов с заголовками «User-Agent», соответствующими указанным регулярным выражениям.

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

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

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

Синтаксис: gzip_min_length length;
По умолчанию: gzip_min_length 20;
Контекст: http, server, location

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

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

Включает или отключает сжатие ответов для запросов прокси-сервера в зависимости от запроса и ответа. Факт, что запрос является прокси-запросом, определяется наличием заголовка запроса «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-type ...;
По умолчанию: gzip_types text/html;
Контекст: http, server, location

Включает сжатие ответов для указанных 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 активны.

Встроенные переменные

$gzip_ratio
достигнутый коэффициент сжатия, вычисляемый как отношение между исходным и сжатым размерами ответа.

© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_gzip_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API