怎么用Tomcat实现IP限制访问?

怎么用Tomcat实现IP限制访问?,第1张

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=""/>

特别需求:测试版本不想提供别人访问,打开tomcat6\conf\server.xml文件,如果是要限制整个站点别人不能访问,则要将

<Valve className="org.apache.catalina.valves.RemoteAddrValve"  allow="192.168.1.*,192.168.2.*,*.mysite.com" deny=""/>

加入到<HOST></HOST>标签中,如果是要限制某个站点不能被访问,则要加入到<Context>里面就可以。

<Context path="/myweb" reloadable="true" docBase="E:\tomcat6\webapps\myweb">

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.13.110,192.168.1.*,220.250.13.21" deny=""/>

</Context>

RemoteHostValve

根据主机名进行限制:

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="tmachine1" deny=""/>

修改文件:

tomcat/conf/server.xml

通过tomcat限制ip访问。

Tomcat中的ip访问限制,即设置允许某个(或某些)客户端能够访问到tomcat服务器,或不能访问tomcat服务器。

实现方法:

限制tomcat的IP访问只需要编辑tomcat的server.xml,增加适当代码即可。

操作步骤:

A、设定我们有一个名为Zweb的虚拟目录。用文本编辑器打开tomcat的 server.xml配置文件,找到其配置代码如下:

<contextpath=”/Zweb” reloadable=”true” docBase=”/var/www/Zweb” />

B、将其改成下面代码:

<contextpath=”/Zweb” reloadable=”true” docBase=”/var/www/Zweb”>

    <valueclassName=”org.apache.catalina.values.RemoteAddrValue”

        allow=”127.0.0.1” deny=”″ />

</context> 经过这样设置后,将只允许本机访问Tomcat。

C、如要限制只能192.168.1.0-192.168.5.255和192.168.10.0-192.168.15.255这样的IP段,可以这样写:

<contextpath=”/Zweb” reloadable=”true” docBase=”/var/www/Zweb”>

    <valueclassName=”org.apache.catalina.values.RemoteAddrValue”

        allow=”192.168.[1-5].*,192.168.[10-15].*” deny=”″ />

</context>

设置好后重新启动Tomcat。

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

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

通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。

全局设置,对Tomcat下所有应用生效,server.xml中添加下面一行,重启服务器即可:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>此行放在</Host>之前。

实例:

A、只允许192.168.1.10访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/>

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

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>

C、只允许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=""/>

D、根据主机名进行限制:

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="baidu.com" deny=""/>

注:设置好后重新启动Tomcat才生效。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/58933.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-27
下一篇2023-02-27

发表评论

登录后才能评论

评论列表(0条)

    保存