Tomcat實現訪問限制

目標:只有指定的主機或IP地址才能夠訪問部署在Tomcat下的應用。apache

實現所需參數:RemoteHostValve 和RemoteAddrValvespa

前者用於限制主機名,後者用於限制IP地址。orm

實現過程:server

1、全局設置,對Tomcat下全部應用生效xml

server.xml中的<Host>和</Host>間添加以下代碼:部署

限制主機IP地址:域名

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

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

注:上述代碼表示對Tomcat下全部應用僅容許192.168.1.*網段的主機訪問;方法

限制主機域名:

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

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

注:上述代碼表示對Tomcat下全部應用僅容許*.abc.com名稱的主機訪問;

上述兩種方式能夠單獨使用,也能夠是混合使用。

示例以下:

一、只容許192.168.1.10訪問:

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

二、只容許192.168.1.*網段訪問:

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

三、只容許192.168.1.十、192.168.1.30訪問:

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

四、根據主機域名進行限制:

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

五、根據主機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=""/>

2、局部設置,僅對具體的應用生效

server.xml中的<Context>和</Context>間添加以下代碼:

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

上述代碼表示對Tomcat下定義的單個應用僅容許192.168.1.*網段的主機訪問;

局部設置與全局設置方法相似,這裏再也不贅述!

相關文章
相關標籤/搜索