GZip#
该模块是一个使用 gzip 方法压缩响应的过滤器,可以将传输数据的大小减少 2 倍或更多。
警告
使用 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 压缩。
gzip_buffers#
设置用于压缩响应的缓冲区数量和大小。默认情况下,缓冲区大小等于一个内存页大小,这取决于平台,通常是 4K 或 8K。
gzip_comp_level#
设置响应的 gzip 压缩级别。可接受的值范围从 1 到 9。
gzip_disable#
禁止对 User-Agent
请求头字段与指定正则表达式匹配的请求进行 gzip 压缩。
特殊的掩码 msie6
对应于正则表达式 "MSIE [4-6].",但工作速度更快。"MSIE 6.0; ... SV1" 被排除在该掩码之外。
gzip_http_version#
设置请求所需的最低 HTTP 版本以压缩响应。
gzip_min_length#
设置将被 gzip 压缩的响应的最小长度。长度仅从 Content-Length
响应头字段中确定。
gzip_proxied#
| |
默认 |
|
http, server, location |
根据请求和响应的情况启用或禁用对代理请求的响应进行 gzip 压缩。请求是代理请求的事实由请求头字段 Via
的存在来确定。该指令接受多个参数:
| 禁用对所有代理请求的压缩,忽略其他参数; |
| 如果响应头包含 |
| 如果响应头包含 |
| 如果响应头包含 |
| 如果响应头包含 |
| 如果响应头不包含 |
| 如果响应头不包含 |
| 如果请求头包含 |
| 对所有代理请求启用压缩。 |
gzip_types#
启用对指定 MIME 类型的响应进行 gzip 压缩,除了 text/html
之外。特殊值 "*" 匹配任何 MIME 类型。text/html
类型的响应始终被压缩。
gzip_vary#
启用或禁用在响应头中插入 "Vary: Accept-Encoding" 字段,如果指令 gzip、gzip_static 或 gunzip 激活。
内置变量#
$gzip_ratio
#
达到的压缩比率,计算为原始响应大小与压缩响应大小的比率。