ロードバランサーやプロキシー経由でも.htaccessでのIPアドレスを制限したい場合
Aug 3, 2013IPアドレスで制限したいシステムが、PagodaBox上で運営しているのですが、Pagodaさんがロードバランサーを介しているので、下記のようのよく使う.htaccessでのIP制限が実現できませんでした。
よくあるIP制限 by .htaccess
1 2 3 4 |
order allow,deny allow from all deny from 139.82.0.0/16 deny from 1.1.2.6 |
X-FORWARDED-FOR経由でのIP制限 by .htaccess
headerを確認したことを、X-FORWARDED-FORにIPがありましたので、最終的に下記のように実装しました。
1 2 3 4 5 |
SetEnvIf X-FORWARDED-FOR 124.169.224.1 denyIP SetEnvIf X-FORWARDED-FOR 124.169.4.1 denyIP order allow,deny allow from all deny from env=denyIP |
プレフィックスのIPアドレスを対応する
今回やっかいだったのは制限するIPアドレスの数がかなり多かったことです、しかもプレフィックス(Prefix)で指定されたIPアドレスなのでかなりの数でした。
それで、面倒でしたが一つ一つプレフィックスに併せて正規表現で対応したのですが、面倒でしたー
1 2 3 4 5 6 7 |
#124.120.0.0/15 SetEnvIf X-FORWARDED-FOR ^124.120.(?:[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]).(?:[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-4])$ denyIP #140.49.0.0/16 SetEnvIf X-FORWARDED-FOR ^140.149.(?:[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]).(?:[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-4])$ denyIP order allow,deny allow from all deny from env=denyIP |
まずプレフィックスのIPの範囲を今まで理解してなかったことも厄介でしたが、下記のサービスのお陰で助かりました
http://www.csgnetwork.com/ipinfocalc.html ← プレフィックスのIPの範囲を計算してくれるサービス
http://support.google.com/bin/answer.py?hl=en&answer=1034771 ← IPアドレスの正規表現
One Comment, Comment or Ping
Reply to “ロードバランサーやプロキシー経由でも.htaccessでのIPアドレスを制限したい場合”
Warning: Undefined variable $user_ID in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/themes/grid_focus_public_mizo/comments.php on line 66
You must be logged in to post a comment.