Tomcat实现访问限制
博客专区 > Oscarfff 的博客 > 博客详情
Tomcat实现访问限制
Oscarfff 发表于2年前
Tomcat实现访问限制
  • 发表于 2年前
  • 阅读 35
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: Tomcat实现访问限制

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

实现所需参数:RemoteHostValve 和RemoteAddrValve

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

实现过程:

一、全局设置,对Tomcat下所有应用生效

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

限制主机IP地址:

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

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

注:上述代码表示对Tomcat下所有应用仅允许192.168.1.*网段的主机访问;

限制主机域名:

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

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

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

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

示例如下:

1、只允许192.168.1.10访问:

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

2、只允许192.168.1.*网段访问:

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

3、只允许192.168.1.10、192.168.1.30访问:

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

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

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

5、根据主机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=""/>

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

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

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

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

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


共有 人打赏支持
粉丝 70
博文 796
码字总数 96788
×
Oscarfff
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: