此页面版本: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
最终压缩比,计算原响应与压缩后的响应大小的比率。