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 on | off;
デフォルト:
gzip off;
コンテキスト: http, server, location, if in location

応答のgzip化を有効または無効にします。

構文: gzip_buffers number size;
デフォルト:
gzip_buffers 32 4k|16 8k;
コンテキスト: http, server, location

応答を圧縮するうために使われるバッファのnumbersizeを設定します。デフォルトでは、バッファサイズはメモリページと同じサイズです。これは4Kあるいは8kです。プラットフォームに依存します。

バージョン0.7.28まではデフォルトで4つの4Kまたは8Kのバッファが使われていました。

構文: gzip_comp_level level;
デフォルト:
gzip_comp_level 1;
コンテキスト: http, server, location

応答の圧縮level を設定します。可能な値は1から9の範囲です。

構文: 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 1.0 | 1.1;
デフォルト:
gzip_http_version 1.1;
コンテキスト: http, server, location

応答の圧縮が要求されるリクエストの最小のHTTPバージョンを設定します。

構文: gzip_min_length length;
デフォルト:
gzip_min_length 20;
コンテキスト: http, server, location

gzipされる応答の最小限の長さを設定します。長さは"Content-Length"応答ヘッダフィールドからのみ決定されます。

構文: 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"フィールドが含まれていなければ、圧縮を有効にします。
認証
リクエストヘッダに"Authorization"フィールドが含まれていれば、圧縮を有効にします;
any
全てのプロキシされたリクエストに圧縮を有効にします。

構文: gzip_types mime-type ...;
デフォルト:
gzip_types text/html;
コンテキスト: http, server, location

"text/html"に加えて指定されたMIMEタイプへの応答のgzipを有効にします。特別な値"*"は全てのMIMEタイプに一致します(0.8.29)。"text/html"タイプの応答は常に圧縮されます。

構文: gzip_vary on | off;
デフォルト:
gzip_vary off;
コンテキスト: http, server, location

もしgzip, gzip_staticまたは gunzipディレクティブが有効であれば、"Vary: Accept-Encoding"応答ヘッダの挿入を有効または無効にします。

埋め込み変数

$gzip_ratio
達成された圧縮比率、元と圧縮後の応答サイズから計算される。

TOP
inserted by FC2 system