モジュール 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 |
---|---|
デフォルト | — |
コンテキスト |
http 、server 、location |
正しい置換アドレスを送信することがわかっている信頼できるアドレスを定義します。特別な値 unix:
が指定されている場合は、すべての UNIX ドメイン ソケットが信頼されます。信頼できるアドレスは、ホスト名を使用して指定することもできます (1.13.1)。
IPv6 アドレスは、バージョン 1.3.0 と 1.2.1 からサポートされています。
構文 |
real_ip_header |
---|---|
デフォルト |
real_ip_header X-Real-IP; |
コンテキスト |
http 、server 、location |
クライアント アドレスの置換に使用される値を持つリクエスト ヘッダー フィールドを定義します。
オプションのポートを含むリクエスト ヘッダーのフィールド値も、クライアント ポートの置換に使用されます (1.11.0)。アドレスとポートは、RFC 3986 に従って指定する必要があります。
proxy_protocol
パラメータ (1.5.12) は、クライアント アドレスを PROXY プロトコル ヘッダーのアドレスに変更します。PROXY プロトコルは、listen ディレクティブで proxy_protocol
パラメータを設定して事前に有効にする必要があります。
構文 |
real_ip_recursive |
---|---|
デフォルト |
real_ip_recursive off; |
コンテキスト |
http 、server 、location |
このディレクティブは、バージョン 1.3.0 と 1.2.1 で導入されました。
再帰検索が無効になっている場合、real_ip_header ディレクティブで定義されたリクエスト ヘッダー フィールドで送信された最後のアドレスで、信頼できるアドレスのいずれかに一致する元のクライアント アドレスが置換されます。再帰検索が有効になっている場合、real_ip_header ディレクティブで定義されたリクエスト ヘッダー フィールドで送信された最後の信頼できないアドレスで、信頼できるアドレスのいずれかに一致する元のクライアント アドレスが置換されます。
埋め込み変数
$realip_remote_addr
- 元のクライアント アドレスを保持します (1.9.7)
$realip_remote_port
- 元のクライアント ポートを保持します (1.11.0)