On this page
Module ngx_http_gzip_module
ngx_http_gzip_module
模块是使用“ gzip”方法压缩响应的过滤器。这通常有助于将传输数据的大小减少一半甚至更多。
Note
使用 SSL/TLS 协议时,压缩的响应可能会受到BREACH攻击。
Example Configuration
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;
$gzip_ratio
变量可用于记录达到的压缩率。
Directives
Syntax: | gzip on | off; |
Default: | gzip off; |
Context: | http , server , location , if in location |
启用或禁用响应的压缩。
Syntax: | gzip_buffers number size; |
Default: | gzip_buffers 32 4k|16 8k; |
Context: | http , server , location |
设置用于压缩响应的缓冲区的number
和size
。默认情况下,缓冲区大小等于一个内存页。根据平台的不同,它可以是 4K 或 8K。
Note
在 0.7.28 版之前,默认情况下使用四个 4K 或 8K 缓冲区。
Syntax: | gzip_comp_level level; |
Default: | gzip_comp_level 1; |
Context: | http , server , location |
设置响应的 gzip 压缩level
。可接受的值范围是 1 到 9.
Syntax: | gzip_disable regex ...; |
Default: | — |
Context: | http , server , location |
该指令出现在版本 0.6.23 中。
禁用对带有“ User-Agent”头字段匹配任何指定正则表达式的请求的响应的 gzip 压缩。
特殊掩码“ msie6
”(0.7.12)对应于正则表达式“ MSIE [4-6]\.
”,但工作更快。从版本 0.8.11 开始,此掩码中不包含“ MSIE 6.0; ... SV1
”。
Syntax: | gzip_http_version 1.0 | 1.1; |
Default: | gzip_http_version 1.1; |
Context: | http , server , location |
设置压缩响应所需的最低 HTTP 请求版本。
Syntax: | gzip_min_length length; |
Default: | gzip_min_length 20; |
Context: | http , server , location |
设置将被压缩的响应的最小长度。该长度仅从“ Content-Length”响应头字段中确定。
Syntax: | gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...; |
Default: | gzip_proxied off; |
Context: | http , server , location |
根据请求和响应为代理请求启用或禁用响应的压缩。请求被代理的事实由“ Via”请求 Headers 字段的存在来确定。该指令接受多个参数:
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
- 如果请求 Headers 包含“授权”字段,则启用压缩;
any
- 为所有代理请求启用压缩。
Syntax: | gzip_types mime-type ...; |
Default: | gzip_types text/html; |
Context: | http , server , location |
除“ text/html
”外,还对指定的 MIME 类型启用响应的压缩。特殊值“ *
”匹配任何 MIME 类型(0.8.29)。始终会压缩“ text/html
”类型的响应。
Syntax: | gzip_vary on | off; |
Default: | gzip_vary off; |
Context: | http , server , location |
如果指令gzip,gzip_static或gunzip处于活动状态,则启用或禁用插入“ Vary:Accept-Encoding”响应 Headers 字段。
Embedded Variables
$gzip_ratio
- 获得的压缩率,计算为原始响应大小与压缩响应大小之间的比率。