Модуль 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