- proxyされた先でIP制限
- apacheA-apacheB-tomcatという構成では、apacheBではソースIPが全てapacheAのIPになってしまう。
- apacheBではX-Forwarded-ForというヘッダにIPアドレスが格納されているのでこのIPを使ってIP制限を行う方法を紹介する。
SetEnvIf X-Forwarded-For "192\.168\.51\.1" checkip
Order deny,allow
Deny from all
Allow from env=checkip
-
- 複数IPを指定する場合は以下のようにしてできました。
SetEnvIf X-Forwarded-For "192\.168\.51\.1" checkip1
SetEnvIf X-Forwarded-For "192\.168\.51\.15" checkip2
Order deny,allow
Deny from all
Allow from env=checkip1
Allow from env=checkip2
-
- マスク(/24)で指定した場合は以下のような正規表現で書くことができました。
SetEnvIf X-Forwarded-For "192\.168\.51\.[0-9]{1,3}" checkip
Order deny,allow
Deny from all
Allow from env=checkip
-
- SetEnvIfはAllowOverrideでFileInfoが指定されていることが前提となります。
- 参考