web-dev-qa-db-ja.com

X-FORWARDED-FORをnginx error_logに記録できますか?

Nginxでは、アクセスログにカスタムログ形式を使用できます。現在、http_x_forwarded_forをログに記録しており、正常に動作しています。

問題は、エラーログにLB IPのみが表示されることです。グーグルでドキュメントを読んだ後、error_logはカスタム形式をサポートしておらず、ログレベル(情報、アラート、通知、警告など)のみを設定しているようです。

これを回避するために使用できる回避策やモジュールはありますか?

完全を期すために、私のセットアップは:

Amazon ELB-> nginxをphp-fpm 7.0へのリバースプロキシとして実行しているインスタンスのプール

2
skrewler

実際のIPモジュール を使用する必要があります。これにより、クライアントの実際のIPアドレスは、ロードバランサーのIPアドレスではなく、リモートIPアドレスと見なされます。これにより、ログやアプリケーションでX-Forwarded-Forを確認する必要がなくなります。

ロードバランサーのIPアドレスを指定するだけで簡単に有効にできます。

set_real_ip_from  10.0.0.0/8;
set_real_ip_from  172.16.0.0/12;
set_real_ip_from  192.168.0.0/16;
real_ip_header    X-Forwarded-For;
4
Michael Hampton