Nginxでリバースプロキシしている際にStarman側でリモートホストIPを知る。
Nginxをリバースプロキシとして立ち上げ、Starmanをバックエンドに置いている際に、 Starman側のログで出力されるホストが"127.0.0.1"固定にしかならなくてつらまってた。
Nginx側の設定ファイルに
server { ・・・(略)・・・ location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #これが必要だった。 proxy_pass http://app; } }
X-Forwarded-Forとは、wikiさんによると、
HTTPヘッダフィールドの一つ。 HTTPプロキシサーバまたは負荷分散装置(ロードバランサ)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際のデファクトスタンダードである