ページへ戻る

− Links

 印刷 

Nginx でリバースプロキシ経由時の REMOTE_ADDR を正しく得る のバックアップ差分(No.1) :: XOOPS マニア

UsersWiki:nao-pon/blog/2015-04-23 のバックアップ差分(No.1)

  Next »[4]
1: 2015-04-23 (木) 00:33:38 nao-pon[5] ソース[6]
Line 1: Line 1:
 +#navi
 +RIGHT:&rsslink(../);
 +#boxdate
 +* Nginx でリバースプロキシ経由時の REMOTE_ADDR を正しく得る [#p4f0f669]
 +RIGHT:&tag(Nginx,リバースプロキシ,自宅サーバ,REMOTE_ADDR,IP);
 +
 +&ref(site://modules/xelfinder/index.php/view/1921/nginx_logo.png,right,mw:300,mh:300,og);
 +Raspberry Pi2 で動いている Raspoops ですが、宅外からのアクセスは、この xoops.hypweb.net が動いている Apache をリバースプロキシにして Raspi の Neginx に転送しています。
 +
 +今日、出先からちょっと調べたいことがあって Raspoops にアクセスしたら、あれ〜? Protector に BAN されてる!
 +
 +#ref(site://modules/xelfinder/index.php/view/1920/BanByProtector.png,left,mw:400,mh:400)
 +
 +ん?おかしいな?と思い帰宅後、宅内の PC から Raspoops の Protector を確認してみたら、「拒否 IP リスト」に 1行だけ等よくされていました。
 +
 + 192.168.x.x:1432299382
 +
 +って。
 +
 +あ!リバースプロキシにしてる Apache のサーバー IP じゃん!
 +
 +Protector の設定では、ローカル IP は BAN 対象から外しているので、HypCommonFunc のスパム対策で登録されたのだと思います。
 +
 +あぁ、そうか! Nginx に通知される REMORT_ADDR は、リバースプロキシのそれなんだぁ!と今更気付きました。 :lol:
 +
 +ということで、対策。
 +
 +Apache からは、 X-Forwarded-For ヘッダで、アクセス元の IP が通知されているので、Nginx のほうでそれを REMOTE_ADDR にアサインすれば OK です。
 +
 +- [[Module ngx_http_realip_module:http://nginx.org/en/docs/http/ngx_http_realip_module.html]]
 +
 +server ディレクティブで
 +
 + set_real_ip_from 192.168.x.x;
 + real_ip_header X-Forwarded-For;
 +
 +ってして Nginx を再起動すれば OK :ok: これで REMOTE_ADDR に実サクセス元 IP がセットされるので、Protector, HypCommonFunc のスパム対策が正常に働きます。
 +
 +あーよかった。 :shy:
 +
 +
 +
 +RIGHT:&font(90%){&page_comments;};
 +#navi
  Next »[4]