DC4

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アドレスを特定する際のデファクトスタンダードである