AWSのロードバランサ配下にnginxやapacheなどを入れると、アクセスログにはロードバランサのIPアドレスが記録される。
Apacheだとmod_extract_forwardedとかがあるのでそちらを使えばロードバランサが入れたX-Forwarded-Forを使えるけど
nginxだとどうするのか知らなかったので記録。
最新版のnginxなら以下の設定を入れればすぐログが大元のIPアドレスに差し替わった。
http {
…他の設定…
# set real-remote-ip
set_real_ip_from ロードバランサのIPアドレス;
real_ip_header X-Forwarded-For;
…他の設定…
}
問題なのはロードバランサのIPが(いつのまにか)変わったりするとmod_extract_forwardedにしても上の設定にしても漏れちゃうんだよね..
せめてロードバランサのIP帯が分かれば指定しちゃうんだけど。
Apacheだとmod_extract_forwardedとかがあるのでそちらを使えばロードバランサが入れたX-Forwarded-Forを使えるけど
nginxだとどうするのか知らなかったので記録。
最新版のnginxなら以下の設定を入れればすぐログが大元のIPアドレスに差し替わった。
http {
…他の設定…
# set real-remote-ip
set_real_ip_from ロードバランサのIPアドレス;
real_ip_header X-Forwarded-For;
…他の設定…
}
問題なのはロードバランサのIPが(いつのまにか)変わったりするとmod_extract_forwardedにしても上の設定にしても漏れちゃうんだよね..
せめてロードバランサのIP帯が分かれば指定しちゃうんだけど。