ngx_http_headers_module モジュール

設定例
ディレクティブ
     add_header
     add_trailer
     expires

ngx_http_headers_module モジュールは、「Expires」と「Cache-Control」ヘッダーフィールド、および任意のフィールドをレスポンスヘッダーに追加できます。

設定例

expires    24h;
expires    modified +24h;
expires    @24h;
expires    0;
expires    -1;
expires    epoch;
expires    $expires;
add_header Cache-Control private;

ディレクティブ

構文 add_header name value [always];
デフォルト
コンテキスト httpserverlocationif in location

レスポンスコードが 200、201 (1.3.10)、204、206、301、302、303、304、307 (1.1.16、1.0.13)、または 308 (1.13.0) の場合に、指定されたフィールドがレスポンスヘッダーに追加されます。パラメータ値には変数を含めることができます。

add_header ディレクティブは複数指定できます。これらのディレクティブは、現在のレベルに add_header ディレクティブが定義されていない場合に限り、前の設定レベルから継承されます。

always パラメータが指定されている場合 (1.7.5)、レスポンスコードに関係なくヘッダーフィールドが追加されます。

構文 add_trailer name value [always];
デフォルト
コンテキスト httpserverlocationif in location

このディレクティブはバージョン 1.13.2 で登場しました。

レスポンスコードが 200、201、206、301、302、303、307、または 308 の場合に、指定されたフィールドがレスポンスの最後に追加されます。パラメータ値には変数を含めることができます。

add_trailer ディレクティブは複数指定できます。これらのディレクティブは、現在のレベルに add_trailer ディレクティブが定義されていない場合に限り、前の設定レベルから継承されます。

always パラメータが指定されている場合、レスポンスコードに関係なく、指定されたフィールドが追加されます。

構文 expires [modified] time;
expires epoch | max | off;
デフォルト
expires off;
コンテキスト httpserverlocationif in location

レスポンスコードが 200、201 (1.3.10)、204、206、301、302、303、304、307 (1.1.16、1.0.13)、または 308 (1.13.0) の場合は、「Expires」と「Cache-Control」レスポンスヘッダーフィールドの追加または変更を有効または無効にします。パラメータには正または負の 時間 を指定できます。

「Expires」フィールドの時間は、現在の時間とディレクティブで指定された time の合計として計算されます。modified パラメータが使用されている場合 (0.7.0、0.6.32)、時間はファイルの変更時間とディレクティブで指定された time の合計として計算されます。

さらに、「@」 プレフィックスを使用して時刻を指定できます (0.7.9、0.6.34)。

expires @15h30m;

「Cache-Control」フィールドのコンテンツは、指定された時間の符号によって異なります。

epoch パラメータは「Expires」を「Thu, 01 Jan 1970 00:00:01 GMT」、および「Cache-Control」を「no-cache」に設定します。

max パラメータは「Expires」を「Thu, 31 Dec 2037 23:55:55 GMT」、および「Cache-Control」を 10 年に設定します。

off パラメータは、「Expires」と「Cache-Control」レスポンスヘッダーフィールドの追加または変更を無効にします。

最後のパラメータ値には変数を含めることができます (1.7.9)。

map $sent_http_content_type $expires {
    default         off;
    application/pdf 42d;
    ~image/         max;
}

expires $expires;