Tomcat实现访问限制

目标:只有指定的主机或IP地址才能够访问部署在Tomcat下的应用。apache

实现所需参数:RemoteHostValve 和RemoteAddrValvespa

前者用于限制主机名,后者用于限制IP地址。orm

实现过程:server

1、全局设置,对Tomcat下全部应用生效xml

server.xml中的<Host>和</Host>间添加以下代码:部署

限制主机IP地址:域名

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"it

  2. allow="192.168.1.*"deny=""/>class

注:上述代码表示对Tomcat下全部应用仅容许192.168.1.*网段的主机访问;方法

限制主机域名:

  1. <ValveclassName="org.apache.catalina.valves.RemoteHostValve"

  2. allow="*.abc.com"deny=""/>

注:上述代码表示对Tomcat下全部应用仅容许*.abc.com名称的主机访问;

上述两种方式能够单独使用,也能够是混合使用。

示例以下:

一、只容许192.168.1.10访问:

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"allow="192.168.1.10"deny=""/>/

二、只容许192.168.1.*网段访问:

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"allow="192.168.1.*"deny=""/>

三、只容许192.168.1.十、192.168.1.30访问:

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"allow="192.168.1.10,192.168.1.30"deny=""/>

四、根据主机域名进行限制:

  1. <ValveclassName="org.apache.catalina.valves.RemoteHostValve"allow="abc.com"deny=""/>

五、根据主机IP和域名进行限制:

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"allow="192.168.1.10,192.168.1.30,192.168.2.*"deny=""/>

  2. <ValveclassName="org.apache.catalina.valves.RemoteHostValve"allow="www.abc.com,*.aaa.com"deny=""/>

2、局部设置,仅对具体的应用生效

server.xml中的<Context>和</Context>间添加以下代码:

  1. <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"allow="192.168.1.*"deny=""/>

上述代码表示对Tomcat下定义的单个应用仅容许192.168.1.*网段的主机访问;

局部设置与全局设置方法相似,这里再也不赘述!

相关文章
相关标签/搜索