ngx_http_realip_module モジュール

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

ngx_http_realip_moduleモジュールは、クライアントのアドレスを特定のヘッダフィールドの中に送られてきたものと置き換えるために使われます。

このモジュールはデフォルトではビルドされず、--with-http_realip_module configureパラメータを有効にする必要があります。

設定例

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 address | CIDR | unix:;
デフォルト: -
コンテキスト: http, server, location

正しい置き換えアドレスを送信すると知られている、信頼できるアドレスを定義する。特別な値 unix: が指定された場合、全てのUNIXドメインソケットが信頼されるでしょう。信頼されたアドレスもホスト名を使って指定されるかもしれません (1.13.1)。

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

構文: real_ip_header field | X-Real-IP | X-Forwarded-For | proxy_protocol;
デフォルト:
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 on | off;
デフォルト:
real_ip_recursive off;
コンテキスト: http, server, location

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

再帰的な検索が無効にされると、信頼されたアドレスの一つに一致した元のクライアントアドレスは、real_ip_headerディレクティブで定義されたリクエストヘッダフィールドの最後のアドレスで置き換えられるでしょう。再帰的な検索が有効にされると、信頼されたアドレスの一つに一致した元のクライアントアドレスは、リクエストヘッダフィールドの最後の信頼されていないアドレスによって置き換えられるでしょう。

埋め込み変数

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

TOP
inserted by FC2 system