模块 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 |
---|---|
默认值 |
gzip off; |
上下文 |
http 、server 、location 、if in location |
启用或禁用响应的 gzip 压缩。
语法 |
gzip_buffers |
---|---|
默认值 |
gzip_buffers 32 4k|16 8k; |
上下文 |
http 、server 、location |
设置用于压缩响应的缓冲区的number
和 size
。默认情况下,缓冲区大小等于一个内存页。这取决于平台,可以是 4K 或 8K。
在 0.7.28 版本之前,默认使用四个 4K 或 8K 缓冲区。
语法 |
gzip_comp_level |
---|---|
默认值 |
gzip_comp_level 1; |
上下文 |
http 、server 、location |
设置响应的 gzip 压缩level
。可接受的值范围为 1 到 9。
语法 |
gzip_disable |
---|---|
默认值 | — |
上下文 |
http 、server 、location |
此指令出现在 0.6.23 版本中。
禁用对“User-Agent”标头字段与任何指定正则表达式匹配的请求的响应的 gzip 压缩。
特殊掩码“msie6
”(0.7.12)对应于正则表达式“MSIE [4-6]\.
”,但速度更快。从 0.8.11 版本开始,此掩码中不包含“MSIE 6.0; ... SV1
”。
语法 |
gzip_http_version |
---|---|
默认值 |
gzip_http_version 1.1; |
上下文 |
http 、server 、location |
设置压缩响应所需的请求的最小 HTTP 版本。
语法 |
gzip_min_length |
---|---|
默认值 |
gzip_min_length 20; |
上下文 |
http 、server 、location |
设置将被 gzip 压缩的响应的最小长度。长度仅根据“Content-Length”响应标头字段确定。
语法 |
gzip_proxied |
---|---|
默认值 |
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 text/html; |
上下文 |
http 、server 、location |
除了“text/html
”之外,还为指定的 MIME 类型启用响应的 gzip 压缩。特殊值“*
”匹配任何 MIME 类型(0.8.29)。始终压缩类型为“text/html
”的响应。
语法 |
gzip_vary |
---|---|
默认值 |
gzip_vary off; |
上下文 |
http 、server 、location |
如果指令 gzip、gzip_static 或 gunzip 处于活动状态,则启用或禁用插入“Vary: Accept-Encoding”响应标头字段。
嵌入变量
$gzip_ratio
- 实现的压缩率,计算为原始响应大小与压缩响应大小之间的比率。