nginx中文文档-ngx_http_gzip_module

此页面版本:2016-06-08
ngx_http_gzip_module模块是一个使用“gzip”方法压缩响应的过滤器,用于减少传输数据的大小,通常可达一半以上。

示例配置

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

$gzip_ratio变量用于记录压缩比。

gzip

语法:gzip on | off
默认:gzip off
上下文:http, server, location, if in location

启用或禁用gzip压缩功能。

gzip_buffers

语法:gzip_buffers number size
默认:gzip_buffers 32 4k|16 8k
上下文:http, server, location

设置用于压缩响应的缓冲区大小和数量。默认情况下,缓冲区大小为一页内存。4k或8k取决于平台。
直到0.7.28版本之前,默认是4个4k或8k的缓冲区。

gzip_comp_level

语法:gzip_comp_level level
默认:gzip_comp_level 1
上下文:http, server, location

设置响应的gzip压缩等级,可以是1~9.

gzip_disable

语法:gzip_disable regex
默认:—
上下文:http, server, location
版本:0.6.23+

为指定正则表达式匹配的“User-Agent”发来的请求,关闭gzip功能。
特殊的标记“msie6”(0.7.12+)相当于正则表达式“MSIE [4-6]\.”,但速度更快。从0.8.11版本起,“MSIE 6.0; … SV1”不再包含于此标记中。

gzip_min_length

语法:gzip_min_length length
默认:gzip_min_length 20
上下文:http, server, location

设置需要gzip压缩的响应的最小长度。长度只决定“Content-Length”响应头。

gzip_http_version

语法:gzip_http_version 1.0 | 1.1
默认:gzip_http_version 1.1
上下文:http, server, location

设置需要压缩的响应的最小HTTP版本。

gzip_proxied

语法: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

语法:gzip_types mime-type
默认:gzip_types text/html
上下文:http, server, location

为“text/html”类型之外的指定MIME类型的响应启用压缩。特殊值“*”匹配任何MIME类型(0.8.29+)。“text/html”类型的响应总是会被压缩。

gzip_vary

语法:gzip_vary on | off
默认:gzip_vary off
上下文:http, server, location

当gzip、gzip_static或gunzip启用时,启用或禁用添加头域“Vary: Accept-Encoding”到响应头中的功能。

内嵌变量

$gzip_ratio
最终压缩比,计算原响应与压缩后的响应大小的比率。

nginx中文文档-ngx_http_gunzip_module

ngx_http_gunzip_module模块是一个为不支持“gzip”编码方式的客户端解压缩头部包含“Content-Encoding: gzip”响应的过滤器。

该模块在希望通过保存压缩数据来减少空间以及I/O消耗时很有用。
该模块默认不会构建,需要通过–with-http_gunzip_module参数启用。

示例配置

location /storage/ {
    gunzip on;
    ...
}

gunzip

语法:gunzip on | off
默认:gunzip off
上下文:http, server, location

为不支持gzip的客户端开启或禁用解压gzip响应。如果启用,下面的指令决定客户端是否支持gzip:gzip_http_version, gzip_proxied, and gzip_disable。参见gzip_vary指令。

gunzip_buffers

语法:gunzip_buffers number size
默认:gunzip_buffers 32 4k|16 8k
上下文:http, server, location

设置解压响应的缓冲区数量和大小。默认情况下,缓冲区大小等于一页内存。这个值是4k或8k,取决于平台。