tomcat遠端地址或主機名過濾器

maqianmaqian發表於2010-10-29

tomcat遠端地址或主機名過濾器

    一般來說,對遠端主機進行地址或者主機名過濾,採用在filter中處理,獲取到遠端訪問的客戶端主機的IP和主機名後,與xml配置檔案中的允許或者禁止的IP地址相匹配,如果在其範圍內,則允許通過,否則不允許訪問。
    其實更簡單的方法是,直接在tomcat的server.xml檔案中對其進行設定。設定如下:
(1)過濾IP地址:

在tomcat的conf/server.xml檔案中的localhost的<Host>元素中加入如下的<Valve>元素(注意不是value):

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="127.*,222。*" />
即當IP地址為127.0.0.1或者以222開頭的客戶端都將被拒絕。
(2)過濾主機名
<Valve className="org.apache.catalina.valves.RemoteHostValve"
deny="monster*" />

這樣做的好處是顯而易見的,就是根本不用修改在tomcat的應用程式即能對應用進行設定。

附:客戶訪問日誌記錄設定:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="helloapp_access_log." suffix=".txt" pattern="%h %l %u %t %r %s %b" resolveHosts="true" />
   客戶請求記錄設定:
<Valve class="org.apache.catalina.valves.RequestDumperValve" />

相關文章