モジュール ngx_http_slice_module
| 既知の問題 構成例 ディレクティブ slice 埋め込み変数 |
ngx_http_slice_module モジュール (1.9.8) は、大規模な応答のより効率的なキャッシュを提供する、リクエストを特定範囲の応答を返すサブリクエストに分割するフィルタです。
このモジュールはデフォルトではビルドされません。--with-http_slice_module 構成パラメータで有効にする必要があります。
既知の問題
現在、このモジュールは バックグラウンドのキャッシュ更新 などのサブリクエストでは想定どおりに動作しません。この場合、要求はバイト範囲サポートなしで構成されます。
構成例
location / {
slice 1m;
proxy_cache cache;
proxy_cache_key $uri$is_args$args$slice_range;
proxy_set_header Range $slice_range;
proxy_cache_valid 200 206 1h;
proxy_pass https://:8000;
}
この例では、応答は 1 メガバイトのキャッシュ可能なスライスに分割されます。
ディレクティブ
| 構文 |
slice |
|---|---|
| デフォルト |
slice 0; |
| コンテキスト |
http、server、location |
スライスの size を設定します。ゼロ値は、応答をスライスに分割することを無効にします。値が低すぎると、過剰なメモリ使用や多数のファイルのオープンが発生する場合があります。
サブリクエストが必須の範囲を返すために、$slice_range 変数を Range リクエストヘッダーフィールドとしてプロキシサーバーに 渡す 必要があります。 $slice_range は キャッシング が有効になっている場合は キャッシュキー に追加され、206 ステータスコードの応答のキャッシュは 有効にする 必要あります。
埋め込み変数
ngx_http_slice_module モジュールは次の埋め込み変数をサポートしています。
$slice_range- HTTP バイト範囲 形式の現在のスライス範囲、例:
bytes=0-1048575。