模块 ngx_http_gzip_module

示例
Directives
gzip
gzip_buffers
gzip_comp_level gzip_disable

gzip_http_version
gzip_min_length
gzip_proxied
gzip_types
gzip_vary
嵌入变量

该模块是一个过滤器 ,它使用 “gzip” 方法压缩响应。 这通常有助于将传输数据的大小减少一半甚至更多。ngx_http_gzip_module

使用 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

Directives

语法: gzip on | off;
默认值:
gzip off;
上下文: http, , ,serverlocationif in location

启用或禁用响应的 gzip 压缩。

语法: gzip_buffers number size;
默认值:
gzip_buffers 32 4k|16 8k;
上下文: http, ,serverlocation

设置缓冲区的 和 用于压缩响应。 默认情况下,缓冲区大小等于一个内存页。 这是 4K 或 8K,具体取决于平台。numbersize

在版本 0.7.28 之前,默认使用四个 4K 或 8K 缓冲区。

语法: gzip_comp_level level;
默认值:
gzip_comp_level 1;
上下文: http, ,serverlocation

设置响应的 gzip 压缩。 可接受的值在 1 到 9 之间。level

语法: gzip_disable regex ...;
默认值:
上下文: http, ,serverlocation

该Directives出现在版本 0.6.23 中。

禁用对 “User-Agent” 标头字段匹配 任何指定的正则表达式。

特殊掩码 “” (0.7.12) 对应于 正则表达式 “”,但效果更快。 从版本 0.8.11 开始,“” 从此掩码中排除。msie6MSIE [4-6]\.MSIE 6.0; ... SV1

语法: gzip_http_version 1.0 | 1.1;
默认值:
gzip_http_version 1.1;
上下文: http, ,serverlocation

设置压缩响应所需的请求的最低 HTTP 版本。

语法: gzip_min_length length;
默认值:
gzip_min_length 20;
上下文: http, ,serverlocation

设置将被 gzip 压缩的响应的最小长度。 长度仅由 “Content-Length” 确定 response header 字段。

语法: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
默认值:
gzip_proxied off;
上下文: http, ,serverlocation

启用或禁用 proxied 响应的 gzip 压缩 请求,具体取决于请求和响应。 请求被代理的事实由 是否存在 “Via” 请求标头字段。 该Directives接受多个参数:

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
如果请求标头包含 “授权”字段;
any
启用所有代理请求的压缩。

语法: gzip_types mime-type ...;
默认值:
gzip_types text/html;
上下文: http, ,serverlocation

此外,还启用指定 MIME 类型的响应的 gzip 压缩 设置为 “”。 特殊值 “” 与任何 MIME 类型 (0.8.29) 匹配。 具有 “” 类型的响应始终被压缩。text/html*text/html

语法: gzip_vary on | off;
默认值:
gzip_vary off;
上下文: http, ,serverlocation

启用或禁用插入 “Vary: Accept-Encoding” 响应报头字段(如果Directives gzipgzip_staticgunzip 处于活动状态)。

嵌入变量

$gzip_ratio
达到的压缩比,计算为 原始响应大小和压缩响应大小。