mod_proxy

  • 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