模块 ngx_http_gzip_module
| Example Configuration Directives gzip gzip_buffers gzip_comp_level gzip_disable gzip_http_version gzip_min_length gzip_proxied gzip_types gzip_vary Embedded Variables |
该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 |
level设置响应的
gzip 压缩。可接受的值在 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-
如果响应标头包含带有“
no-cache”参数的“Cache-Control”字段,则启用压缩; no-store-
如果响应标头包含带有“
no-store”参数的“Cache-Control”字段,则启用压缩; private-
如果响应标头包含带有“
private”参数的“Cache-Control”字段,则启用压缩; no_last_modified- 如果响应标头不包含“Last-Modified”字段,则启用压缩;
no_etag- 如果响应标头不包含“ETag”字段,则启用压缩;
auth- 如果请求标头包含“授权”字段,则启用压缩;
any- 为所有代理请求启用压缩。
| 句法: |
gzip_types |
|---|---|
| 默认: |
gzip_types text/html; |
| 语境: |
http, server,location |
除了“ ”之外,还可以对指定 MIME 类型的响应启用 gzip 压缩text/html。特殊值“ *”匹配任何 MIME 类型 (0.8.29)。“ text/html”类型的响应始终被压缩。
| 句法: |
gzip_vary |
|---|---|
| 默认: |
gzip_vary off; |
| 语境: |
http, server,location |
如果指令 gzip、 gzip_static或 gunzip 处于活动状态,则启用或禁用插入“Vary: Accept-Encoding”响应标头字段。
嵌入变量
$gzip_ratio- 达到的压缩比,计算为原始响应大小和压缩响应大小之间的比率。
