Nginxでは、アクセスログにカスタムログ形式を使用できます。現在、http_x_forwarded_forをログに記録しており、正常に動作しています。
問題は、エラーログにLB IPのみが表示されることです。グーグルでドキュメントを読んだ後、error_logはカスタム形式をサポートしておらず、ログレベル(情報、アラート、通知、警告など)のみを設定しているようです。
これを回避するために使用できる回避策やモジュールはありますか?
完全を期すために、私のセットアップは:
Amazon ELB-> nginxをphp-fpm 7.0へのリバースプロキシとして実行しているインスタンスのプール
実際の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;