Tomcat中实现IP访问限制

890阅读 0评论2014-08-07 zhan5872
分类:其他平台

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

供了两个参数供你配置:RemoteHostValve
和RemoteAddrValve,前者用于限

制主机名,后者用于限制IP地址。
通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝

哪些主机/IP。
一、全局设置,对Tomcat下所有应用生效
server.xml中添加下面一行,重启服务器即可:
className="org.apache.catalina.valves.RemoteAddrValve"

allow="192.168.1.*"
deny=""/> 
此行放在之前。
例:
1,只允许192.168.1.10访问:

className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.1.10"
deny=""/>
2,只允许192.168.1.*网段访问:

className="org.apache.catalina.valves.RemoteAddrValve"

allow="192.168.1.*"
deny=""/>
3,只允许192.168.1.10、192.168.1.30访问:

className="org.apache.catalina.valves.RemoteAddrValve"

allow="192.168.1.10,192.168.1.30"
deny=""/>
4,根据主机名进行限制:

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
在上述文件对应项目的前增加下面一行:

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



特别需求:测试版本不想提供别人访问
打开tomcat6\conf\server.xml文件
如果是要限制整个站点别人不能访问,则要将
className="org.apache.catalina.valves.RemoteAddrValve" 
allow="192.168.1.*,192.168.2.*,*.mysite.com"
deny=""/> 
加入到标签中
如果是要限制某个站点不能被访问,则要加入到里面就可以。

path="/myweb" reloadable="true"
docBase="E:\tomcat6\webapps\myweb">
className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.13.110,192.168.1.*,220.250.13.21"
deny=""/>
 
RemoteHostValve
根据主机名进行限制:
className="org.apache.catalina.valves.RemoteHostValve" allow="tmachine1"
deny=""/>

 

修改文件:

tomcat/conf/server.xml

通过tomcat限制ip访问

name="Standalone" ...>
className="org.apache.catalina.valves.RemoteHostValve"
         allow="*.mycompany.com,*.a.com"/> 域名限制
className="org.apache.catalina.valves.RemoteAddrValve"
         deny="192.168.1.*"/>
IP限制

重启tomcat升效
上一篇:nginx配置文件详讲
下一篇:wget用法