2016-12-15 16 views
1

NGINXサーバは、他のいくつかのサーバのロードバランサとして機能しています。私は、ユーザーのIPアドレスにアクセスする必要があるので、私は私のnginxの設定に以下の行を追加しました:NGINXがX-Forwarded-Forを正しく設定していません

proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

その後、バックエンドサーバでは、私は単純にX-Forwarded-Forヘッダー内の最初のIPアドレスを使用します。しかし、数分ごとに(2K回のリクエストごとに1回)、ヘッダの値としてunknown, xxx.xxx.xxx.xxxが得られます。ここで、xxx.xxx.xxx.xxxはIPアドレス(毎回異なるもの)です。この問題の原因は何でしょうか? the documentationから

答えて

1

$proxy_add_x_forwarded_for変数から成る:

「Xは、転送先については」クライアントリクエストヘッダフィールドと $カンマで区切られ、それに添付変数、REMOTE_ADDR。

"X-Forwarded-For"フィールドがクライアント要求 ヘッダーに存在しない場合、$ proxy_add_x_forwarded_for変数は $ remote_addr変数と同じです。

X-Forwarded-For: unknown 
:我々は nginxはのリクエストヘッダといくつかのリモート・クライアント(おそらくはフォワードプロキシ)からの要求を受信したと結論付けることができる。このことから

関連する問題