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 |
---|---|
デフォルト | — |
コンテキスト |
http 、server 、location 、if 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 |
---|---|
デフォルト | — |
コンテキスト |
http 、server 、location 、if in location |
このディレクティブはバージョン 1.13.2 で登場しました。
レスポンスコードが 200、201、206、301、302、303、307、または 308 の場合に、指定されたフィールドがレスポンスの最後に追加されます。パラメータ値には変数を含めることができます。
add_trailer
ディレクティブは複数指定できます。これらのディレクティブは、現在のレベルに add_trailer
ディレクティブが定義されていない場合に限り、前の設定レベルから継承されます。
always
パラメータが指定されている場合、レスポンスコードに関係なく、指定されたフィールドが追加されます。
構文 |
expires [ expires |
---|---|
デフォルト |
expires off; |
コンテキスト |
http 、server 、location 、if 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」フィールドのコンテンツは、指定された時間の符号によって異なります。
- 時間が負の場合 — 「Cache-Control: no-cache」
- 時間が正または 0 の場合 — 「Cache-Control: max-age=
t
」、ここでt
はディレクティブで指定された時間で秒数です。
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;