限制IP访问
限制IP访问
Tomcat限制IP访问
<Engine defaultHost="localhost" name="Catalina">
<!--拒绝10.50.200.38与10.50.100.49IP地址对Tomcat服务器的访问,其它允许.其功用类似于 Apache httpd中基于目录的Allow/Deny指令-->
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.133.245,192.168.26.212" eny=""/>
</Engine>
- 属性:className 意义: Java类名;必须是org.apache.catalina.valves.RemoteHostValve或org.apache.catalina.valves.RemoteAddrValve;
- **属性:allow意义:**以逗号分隔的IP地址。这些字符串返回为常规表达式样式,因此,如果录入IP地址,一定要确信把“.”用反斜线(“\”)进行转义,如127.0.0.1;
- **属性:deny 意义:**以逗号分隔的IP地址。如allow属性那样,这些字符串由常规表达式组成如果未指定allow模式,则会拒绝符合deny属性的模式,但允许其他模式。类似地,如果未指定deny模式,则会允许符合allow属性的模式,但会拒绝其他样式;
全局配置
对Tomcat下所有应用生效server.xml中添加下面一行,重启服务器即可: 此行放在之前。例:
(1)只允许192.168.1.10访问:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" eny=""/>
(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 在上述文件对应项目的前增加下面一行:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>