RuHttpGzipModule

= ngx_http_gzip_module =

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

Директивы

 * [#gzip gzip]
 * [#gzip_buffers gzip_buffers]
 * [#gzip_comp_level gzip_comp_level]
 * [#gzip_min_length gzip_min_length]
 * [#gzip_http_version gzip_http_version]
 * [#gzip_proxied gzip_proxied]
 * [#gzip_types gzip_types]

Пример конфигурации
 * gzip            on;
 * gzip_min_length 1000;
 * gzip_proxied    expired no-cache no-store private auth;
 * gzip_types      text/plain application/xml;

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

gzip
syntax: gzip on|off

default: gzip off

context: http, server, location, if в location

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

gzip_buffers
syntax: gzip_buffers число размер

default: gzip_buffers 4 4k/8k

context: http, server, location

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

gzip_comp_level
syntax: gzip_comp_level 1..9

default: gzip_comp_level 1

context: http, server, location

Устанавливает уровень сжатия ответа методом gzip.

gzip_min_length
syntax: gzip_min_length длина

default: gzip_min_length 0

context: http, server, location

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

gzip_http_version
syntax: gzip_http_version 1.0|1.1

default: gzip_http_version 1.1

context: http, server, location

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

gzip_proxied
syntax: gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...

default: gzip_proxied off

context: 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
syntax: gzip_types mime-тип [mime-тип ...] 

default: gzip_types text/html

context: http, server, location

Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к "text/html". "text/html" сжимается всегда.