GZip#
该模块是一个使用 gzip 方法压缩响应的过滤器,可以将传输数据的大小减少 2 倍或更多。
警告
使用 SSL/TLS 协议时,压缩响应可能会受到 BREACH 攻击。
当 从源代码构建 时,该模块默认会被构建;可以通过
构建选项 --without-http_gzip_module 禁用它。
在来自 我们的软件仓库 的包和镜像中,该模块已包含在
构建中。 可以使用 $gzip_ratio 变量来记录达到的压缩比率。 启用或禁用响应的 gzip 压缩。 设置用于压缩响应的缓冲区数量和大小。默认情况下,缓冲区大小等于一个内存页大小,这取决于平台,通常是 4K 或 8K。 设置响应的 gzip 压缩级别。可接受的值范围从 1 到 9。 禁止对 特殊的掩码 设置请求所需的最低 HTTP 版本以压缩响应。 设置将被 gzip 压缩的响应的最小长度。长度仅从 默认 http, server, location 根据请求和响应的情况启用或禁用对代理请求的响应进行 gzip 压缩。请求是代理请求的事实由请求头字段 禁用对所有代理请求的压缩,忽略其他参数; 如果响应头包含 如果响应头包含 如果响应头包含 如果响应头包含 如果响应头不包含 如果响应头不包含 如果请求头包含 对所有代理请求启用压缩。 启用对指定 MIME 类型的响应进行 gzip 压缩,除了 启用或禁用在响应头中插入 "Vary: Accept-Encoding" 字段,如果指令 gzip、gzip_static 或 gunzip 激活。 达到的压缩比率,计算为原始响应大小与压缩响应大小的比率。配置示例#
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;
指令#
gzip#
gzip_buffers#
gzip_comp_level#
gzip_disable#
User-Agent 请求头字段与指定正则表达式匹配的请求进行 gzip 压缩。msie6 对应于正则表达式 "MSIE [4-6].",但工作速度更快。"MSIE 6.0; ... SV1" 被排除在该掩码之外。gzip_http_version#
gzip_min_length#
Content-Length 响应头字段中确定。gzip_proxied#
gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;gzip_proxied off;Via 的存在来确定。该指令接受多个参数:offexpiredExpires 字段且值禁止缓存,则启用压缩;no-cacheCache-Control 字段且具有 "no-cache" 参数,则启用压缩;no-storeCache-Control 字段且具有 "no-store" 参数,则启用压缩;privateCache-Control 字段且具有 "private" 参数,则启用压缩;no_last_modifiedLast-Modified 字段,则启用压缩;no_etagETag 字段,则启用压缩;authAuthorization 字段,则启用压缩;anygzip_types#
text/html 之外。特殊值 "*" 匹配任何 MIME 类型。text/html 类型的响应始终被压缩。gzip_vary#
内置变量#
$gzip_ratio#