Apache+TomcatでIPアドレスでアクセス制限をかける方法
TomcatのWeb Application ManagerはブラウザからWebアプリをデプロイしたり何かと便利ですが、Basic認証だけだとちょっとセキュリティ的にどうなの感があります。アクセスしてくるマシンのIPアドレスで制限をかけると、安心感がちょっとアップしますよね。
Apacheと連携しているTomcatだったら、ApacheでIPアドレス制限する方法と、Tomcatのコンテキストで制限する方法があるので、以下でご紹介します。
Apacheでブロックする方法
Webアプリがhogeへのアクセスをローカルだけに制限する場合には、httpd.confにあるmod_ajp_proxyの転送先設定のところにAllowを追記するだけ。
<Location /hoge> ProxyPass ajp://localhost:8009/hoge Order Allow,Deny Allow from 127.0.0.1 </Location>
Tomcatでブロックする方法
Webアプリがhogeへのアクセスをローカルだけに制限する場合には、
$TOMCAT_HOME/conf/Catalina/localhost/hoge.xml で
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" /> </Context>
を追記するだけ。
全部のコンテキストでIPアドレス制限するときにはserver.xmlの
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" />
を追加するだけ。