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
|
---|---|
デフォルト: | - |
コンテキスト: |
http , server , location |
正しい置き換えアドレスを送信すると知られている、信頼できるアドレスを定義する。特別な値 unix:
が指定された場合、全てのUNIXドメインソケットが信頼されるでしょう。信頼されたアドレスもホスト名を使って指定されるかもしれません (1.13.1)。
バージョン1.3.0と1.2.1からIPv6アドレスがサポートされています。
構文: |
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ディレクティブで定義されたリクエストヘッダフィールドの最後のアドレスで置き換えられるでしょう。再帰的な検索が有効にされると、信頼されたアドレスの一つに一致した元のクライアントアドレスは、リクエストヘッダフィールドの最後の信頼されていないアドレスによって置き換えられるでしょう。
埋め込み変数
$realip_remote_addr
- 元のクライアントアドレスを保持します (1.9.7)
$realip_remote_port
- 元のクライアントポートを保持します (1.11.0)