ngx_http_gzip_module 模組
範例設定 指令 gzip gzip_buffers gzip_comp_level gzip_disable gzip_http_version gzip_min_length gzip_proxied gzip_types gzip_vary 嵌入式變數 |
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 |
設定回應的 gzip 壓縮level
。可接受的值範圍從 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
- 如果回應標頭包含「Cache-Control」欄位,且具有「
no-cache
」參數,則啟用壓縮; no-store
- 如果回應標頭包含「Cache-Control」欄位,且具有「
no-store
」參數,則啟用壓縮; private
- 如果回應標頭包含「Cache-Control」欄位,且具有「
private
」參數,則啟用壓縮; no_last_modified
- 如果回應標頭不包含「Last-Modified」欄位,則啟用壓縮;
no_etag
- 如果回應標頭不包含「ETag」欄位,則啟用壓縮;
auth
- 如果請求標頭包含「Authorization」欄位,則啟用壓縮;
any
- 啟用所有代理請求的壓縮。
語法 |
gzip_types |
---|---|
預設值 |
gzip_types text/html; |
上下文 |
http , server , location |
除了「text/html
」之外,還針對指定的 MIME 類型啟用回應的 gzip 壓縮。特殊值「*
」符合任何 MIME 類型(0.8.29)。具有「text/html
」類型的回應始終會被壓縮。
語法 |
gzip_vary |
---|---|
預設值 |
gzip_vary off; |
上下文 |
http , server , location |
如果 gzip、gzip_static 或 gunzip 指令處於活動狀態,則啟用或停用插入「Vary: Accept-Encoding」回應標頭欄位。
嵌入式變數
$gzip_ratio
- 達到的壓縮比率,計算為原始回應大小與壓縮回應大小之間的比率。