ページへ戻る

− Links

 印刷 

Nginx でリバースプロキシ経由時の REMOTE_ADDR を正しく得る :: XOOPS マニア

UsersWiki:nao-pon/blog/2015-04-23


RSS of nao-pon/blog[5]
2015 4月 23 (木)
 

Nginx でリバースプロキシ経由時の REMOTE_ADDR を正しく得る anchor.png[6]

Tag: Nginx[7] リバースプロキシ[8] 自宅サーバ[9] REMOTE_ADDR[10] IP[11]

nginx_logo.png[12]
Raspberry Pi2 で動いている Raspoops[13] ですが、宅外からのアクセスは、この xoops[14].hypweb.net が動いている Apache をリバースプロキシにして Raspi の Neginx に転送しています。

今日、出先からちょっと調べたいことがあって Raspoops にアクセスしたら、あれ〜? Protector に BAN されてる!

ん?おかしいな?と思い帰宅後、宅内の PC から Raspoops の Protector を確認してみたら、「拒否 IP リスト」に 1行だけ等よくされていました。

192.168.x.x:1432299382

って。

あ!リバースプロキシにしてる Apache のサーバー IP じゃん!

Protector の設定では、ローカル IP は BAN 対象から外しているので、HypCommonFunc[16] のスパム対策で登録されたのだと思います。

あぁ、そうか! Nginx に通知される REMORT_ADDR は、リバースプロキシのそれなんだぁ!と今更気付きました。 :lol:

ということで、対策。

Apache からは、 X-Forwarded-For ヘッダで、アクセス元の IP が通知されているので、Nginx のほうでそれを REMOTE_ADDR にアサインすれば OK です。

server ディレクティブで

set_real_ip_from 192.168.x.x;
real_ip_header X-Forwarded-For;

ってして Nginx を再起動すれば OK :ok: これで REMOTE_ADDR に実サクセス元 IP がセットされるので、Protector, HypCommonFunc[16] のスパム対策が正常に働きます。

あーよかった。 :shy:

リバースプロキシで転送している場合は、REMOTE_ADDR を正しくセットしないと XOOPS[14] でのスパム対策が意味を成さないから気をつけましょうというお話でした。



Last-modified: 2015-04-23 (木) 00:37:10 (JST) (3284d) by nao-pon