Tomcat實現訪問限制

 目標:只有指定的主機或IP地址纔可以訪問部署在Tomcat下的應用。

 實現所需參數:RemoteHostValve 和RemoteAddrValve
              前者用於限制主機名,後者用於限制IP地址。

 實現過程:

一、全局設置,對Tomcat下所有應用生效

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

限制主機IP地址:

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

注:上述代碼表示對Tomcat下所有應用僅允許192.168.1.*網段的主機訪問;

限制主機域名:

  1. <Valve className="org.apache.catalina.valves.RemoteHostValve"  
  2. allow="*.abc.com" deny=""/>  

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

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

示例如下:

1、只允許192.168.1.10訪問:

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

2、只允許192.168.1.*網段訪問:

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

3、只允許192.168.1.10、192.168.1.30訪問:

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

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

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

5、根據主機IP和域名進行限制:

  1. <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30,192.168.2.*" deny=""/>  
  2. <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="www.abc.com,*.aaa.com" deny=""/> 

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

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

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

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

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章