Tomcat中实现IP访问限制

效果:只有指定的主机或IP地址才可以访问部署在Tomcat下的应用。

Tomcat提供了两个参数供你配置:RemoteHostValve 和RemoteAddrValve,前者用于限制主机名,后者用于限制IP地址。

 
通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。
 
一、全局设置,对Tomcat下所有应用生效
 
server.xml中添加下面一行,重启服务器即可:
 
<Valve classname="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/> 
 
此行放在</Host>之前。
 
例:
 
1,只允许192.168.1.10访问:
<Valve classname="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/>
 
2,只允许192.168.1.*网段访问:
<Valve classname="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>
 
3,只允许192.168.1.10、192.168.1.30访问:
<Valve classname="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/>
 
4,根据主机名进行限制:
<Valve classname="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/>
 
二、局部设置,仅对具体的应用生效
 
根据项目配置情况进行设置:
 
1,使用conf目录下xml文件进行配置
${tomcat_root}\conf\proj_1.xml
 
2,直接在server.xml中进行设置
${tomcat_root}\conf\server.xml
 
在上述文件对应项目的</Context>前增加下面一行:
<Valve classname="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>

相关推荐