Appearance
模块 ngx_http_gzip_module
提示
来自deepseek解释
这是 ngx_http_gzip_module 模块的官方文档中文翻译。
该模块是一个“gzip”过滤器,能对响应内容进行压缩,通常能将传输数据的大小减少一半甚至更多。在使用 SSL/TLS 协议时,压缩响应可能会受到 BREACH 攻击。
介绍
ngx_http_gzip_module 模块是一个过滤器,它使用“gzip”方法压缩响应。这通常有助于将传输数据的大小减少一半甚至更多。在使用 SSL/TLS 协议时,压缩响应可能会受到 BREACH 攻击。
示例配置
nginx
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_http_version
| 属性 | 说明 |
|---|---|
| 语法 | gzip_http_version 1.0 | 1.1; |
| 默认值 | gzip_http_version 1.1; |
| 上下文 | http, server, location |
设置对响应进行压缩所需的最小 HTTP 版本。
gzip_min_length
| 属性 | 说明 |
|---|---|
| 语法 | gzip_min_length length; |
| 默认值 | gzip_min_length 20; |
| 上下文 | http, server, location |
设置将被 gzip 压缩的响应的最小长度。长度仅根据“Content-Length”响应头字段确定。
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- 如果响应头包含带有“no-cache”参数的“Cache-Control”字段,则启用压缩。no-store- 如果响应头包含带有“no-store”参数的“Cache-Control”字段,则启用压缩。private- 如果响应头包含带有“private”参数的“Cache-Control”字段,则启用压缩。no_last_modified- 如果响应头不包含“Last-Modified”字段,则启用压缩。no_etag- 如果响应头不包含“ETag”字段,则启用压缩。auth- 如果请求头包含“Authorization”字段,则启用压缩。any- 对所有代理请求启用压缩。
gzip_types
| 属性 | 说明 |
|---|---|
| 语法 | gzip_types mime-type ...; |
| 默认值 | gzip_types text/html; |
| 上下文 | http, server, location |
启用对指定 MIME 类型的响应进行 gzip 压缩,此外“text/html”类型始终会被压缩。特殊值“*”匹配任何 MIME 类型(0.8.29)。
gzip_vary
| 属性 | 说明 |
|---|---|
| 语法 | gzip_vary on | off; |
| 默认值 | gzip_vary off; |
| 上下文 | http, server, location |
如果 gzip、gzip_static 或 gunzip 指令处于活动状态,则启用或禁用插入“Vary: Accept-Encoding”响应头字段。
内嵌变量
$gzip_ratio- 实现的压缩比,计算公式为原始响应大小与压缩后响应大小之比。