モジュール ngx_http_realip_module

設定例
ディレクティブ
     set_real_ip_from
     real_ip_header
     real_ip_recursive
埋め込み変数

ngx_http_realip_module モジュールは、クライアント アドレスとオプションのポートを、指定したヘッダ フィールドで送信されたアドレスとポートに変更するために使用されます。

このモジュールはデフォルトではビルドされないため、--with-http_realip_module 設定パラメータを使用して有効にする必要があります。

設定例

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

ディレクティブ

構文 set_real_ip_from アドレス | CIDR | unix:;
デフォルト
コンテキスト httpserverlocation

正しい置換アドレスを送信することがわかっている信頼できるアドレスを定義します。特別な値 unix: が指定されている場合は、すべての UNIX ドメイン ソケットが信頼されます。信頼できるアドレスは、ホスト名を使用して指定することもできます (1.13.1)。

IPv6 アドレスは、バージョン 1.3.0 と 1.2.1 からサポートされています。

構文 real_ip_header フィールド | X-Real-IP | X-Forwarded-For | proxy_protocol;
デフォルト
real_ip_header X-Real-IP;
コンテキスト httpserverlocation

クライアント アドレスの置換に使用される値を持つリクエスト ヘッダー フィールドを定義します。

オプションのポートを含むリクエスト ヘッダーのフィールド値も、クライアント ポートの置換に使用されます (1.11.0)。アドレスとポートは、RFC 3986 に従って指定する必要があります。

proxy_protocol パラメータ (1.5.12) は、クライアント アドレスを PROXY プロトコル ヘッダーのアドレスに変更します。PROXY プロトコルは、listen ディレクティブで proxy_protocol パラメータを設定して事前に有効にする必要があります。

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

このディレクティブは、バージョン 1.3.0 と 1.2.1 で導入されました。

再帰検索が無効になっている場合、real_ip_header ディレクティブで定義されたリクエスト ヘッダー フィールドで送信された最後のアドレスで、信頼できるアドレスのいずれかに一致する元のクライアント アドレスが置換されます。再帰検索が有効になっている場合、real_ip_header ディレクティブで定義されたリクエスト ヘッダー フィールドで送信された最後の信頼できないアドレスで、信頼できるアドレスのいずれかに一致する元のクライアント アドレスが置換されます。

埋め込み変数

$realip_remote_addr
元のクライアント アドレスを保持します (1.9.7)
$realip_remote_port
元のクライアント ポートを保持します (1.11.0)