: O. Yuanying

nginx をバックエンドサーバとして使う

新しく Mac mini を買った ので、 自宅サーバとしていろいろ遊ぼうと思った。 色々と遊ぼうと思うと HTTP サーバを何種類も入れたくなるじゃないですか。 Apache や nginx や、node.js で WebSocket を動かしたくなるじゃないですか!

と、いうことでフロントのリバースプロキシとして node-http-proxy を導入したのは良いものの、 バックエンドにまわした子 (nginx/Apache) 達のログが調子悪い…。

具体的に言うと、アクセス元の IP アドレス達が全部 127.0.0.1 になってしまう。 これってようするにフロントサーバの node-http-proxy のアドレスじゃないですかー。

HttpRealIpModule

ということで、HttpRealIpModule を導入。

node-http-proxyX-Forwarded-For を HTTP ヘッダにちゃんと追加してくれているようだったので、 nginx.conf に以下のような設定を施した。

set_real_ip_from 127.0.0.1;
real_ip_header   X-Forwarded-For;

nginx を再起動してログを確認。

うーむ。よしよし。

Apple Mac mini
Amazon で見る