怎么用Tomcat实现IP限制访问

 我来答
稻草人生活印记
2017-08-04 · 知道合伙人互联网行家
稻草人生活印记
知道合伙人互联网行家
采纳数:9024 获赞数:184274
毕业于软件技术专业,从事计算机应用科学与通信工程研究(学习)工作,百度资深行家。

向TA提问 私信TA
展开全部

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

  1. 实现方法:

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

  2. 操作步骤:

    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。
  3. 效果:只有指定的主机或IP地址才可以访问部署在Tomcat下的应用。

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

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

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

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

    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才生效。

Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
xhnbsyq
2018-04-25 · TA获得超过4334个赞
知道小有建树答主
回答量:33
采纳率:0%
帮助的人:5307
展开全部
  1. Tomcat供了两个参数供配置:RemoteHostValve 和RemoteAddrValve,前者用于限制主机名,后者用于限制IP地址。通过配置这两个参数,可以过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。

  2. 全局设置,对Tomcat下所有应用生效:
    server.xml中添加下面一行,重启服务器即可:
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>
    此行放在</Host>之前。

  3. 例:
    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=""/>

  4. 局部设置,仅对具体的应用生效,根据项目配置情况进行设置:
    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=""/>

  5. 特别需求:测试版本不想提供别人访问,打开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

  6. 根据主机名进行限制:

    <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="tmachine1" deny=""/>
    修改文件:
    tomcat/conf/server.xml
    通过tomcat限制ip访问。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式