Module ngx_http_sub_module

設定例
ディレクティブ
     sub_filter
     sub_filter_last_modified
     sub_filter_once
     sub_filter_types

ngx_http_sub_moduleモジュールは、指定された1つの文字列を別の文字列に置き換えてレスポンスを変更するフィルタです。

このモジュールはデフォルトでは組み込まれていません。--with-http_sub_module構成パラメータで有効にする必要があります。

設定例

location / {
    sub_filter '<a href="http://127.0.0.1:8080/'  '<a href="https://$host/';
    sub_filter '<img src="http://127.0.0.1:8080/' '<img src="https://$host/';
    sub_filter_once on;
}

ディレクティブ

構文 sub_filter string replacement;
デフォルト
コンテキスト httpserverlocation

置き換える文字列と置換用文字列を設定します。置き換える文字列は大文字小文字を区別せずに照合されます。置き換える文字列(1.9.4)と置換用文字列には変数を含めることができます。同じコンフィギュレーションレベルで複数のsub_filterディレクティブを指定できます(1.9.4)。これらのディレクティブは、現在のレベルでsub_filterディレクティブが定義されていない場合にのみ前のコンフィギュレーションレベルから継承されます。

構文 sub_filter_last_modified on | off;
デフォルト
sub_filter_last_modified off;
コンテキスト httpserverlocation

このディレクティブはバージョン1.5.1で追加されました。

レスポンスキャッシュを容易にするため、置き換え中に元のレスポンスから「Last-Modified」ヘッダーフィールドを保持することを許可します。

デフォルトでは、レスポンスのコンテンツは処理中に変更されるため、ヘッダーフィールドは削除されます。

構文 sub_filter_once on | off;
デフォルト
sub_filter_once on;
コンテキスト httpserverlocation

各置き換え文字列を1回だけ検索するか、繰り返し検索するかを示します。

構文 sub_filter_types mime-type ...;
デフォルト
sub_filter_types text/html;
コンテキスト httpserverlocation

text/html」に加えて、指定されたMIMEタイプのレスポンスで文字列の置換を有効にします。特殊な値「*」はすべてのMIMEタイプに一致します(0.8.29)。