Tomcat下限制IP或主机名访问应用

 

在:$TOMCAT_HOME/conf/server.xml内的host标签内增加:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10.0.9.*,172.16.103.*" deny=""/>

测试时,都不能访问,经过测试,需要写成如下格式:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10.0.9.*||172.16.103.*" deny=""/>

也就是说多个IP或IP段时,中间以||分隔开。而不是用“,”隔开

注意:如果有多个应用,可以配置不同的Host指向不同的应用来一起使用配置,如下例子。

<Host name="admin.xx.cn"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="/usr/apache-tomcat-6.0.29/webapps/miniadmin" debug="0" reloadable="true" crossContext="true" />

      </Host>

     <Host name="wap.xx.cn"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

        <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="" deny="121.10.40.147"/>

        <Context path="" docBase="/usr/apache-tomcat-6.0.29/webapps/enterprise" debug="0" reloadable="true" crossContext="true" />

      </Host>

     <Host name="www.xx.cn"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="/opt/website/www.jiequ.cn" debug="0" reloadable="true" crossContext="true" />

      </Host>

你可能感兴趣的:(tomcat)