WEB開発備忘録

AWSのELB経由でも接続元IPを正しく取得出来るようnginxを調整した話

AWSのELB(ロードバランサー)経由のEC2WEBサーバでは、接続元のIPアドレスがELBのものになってしまいます。

なのでnginxを調整。
nginxの設定ファイルのhttpディレクティブあるいはserverディレクティブに以下のように記述します。

set_real_ip_from VPCのサブネット/ネットワークアドレス(10.0.0.0/24など);
real_ip_header X-Forwarded-For;

ELBはヘッダー情報「X-Forwarded-For」にクライアントのIPアドレスを格納します。
なのでこの「X-Forwarded-For」をnginxのreal_ip_headerにセットして、クライアントの接続元が正しく取得出来るようにします。

なおこの設定の反映はreloadで大丈夫です。

 [prompt] # service nginx reload