日期:2014-05-16  浏览次数:21332 次

Tomcat IP限制 和 IP Access记录

?

IP限制

在context.xml 中加入.


<Context ? path= "/examples " ? ...>
? ? ...
? ? <Valve ? className= "org.apache.catalina.valves.RemoteHostValve "
? ? ? ? ? ? ? ? ? allow= "*.mycompany.com,www.yourcompany.com "/>
? ? <Valve ? className= "org.apache.catalina.valves.RemoteAddrValve "
? ? ? ? ? ? ? ? ? deny= "192.168.1.* "/>
? ? ...
</Context>

?


IP Access记录

方法一:

?<Valve?className="org.apache.catalina.valves.AccessLogValve"
?????????????????directory="logs"??prefix="localhost_access_log."?suffix=".txt"
?????????????????pattern="common"?resolveHosts="false"/>
?
然后修改为:
????????<Valve?className="org.apache.catalina.valves.FastCommonAccessLogValve"
?????????????????directory="logs"??prefix="localhost_access_log."?suffix=".txt"
?????????????????pattern="combined"?resolveHosts="false"?fileDateFormat="yyyy-MM-dd.HH"/>
?
pattern="combined"?记录的日志内容更详细,fileDateFormat="yyyy-MM-dd.HH",会让日志文件按小时进行 滚卷,
比默认的按天滚卷要好些,尤其是访问量大的网站,可以考虑写成fileDateFormat="yyyy-MM-dd.HH.mm",就会是每分钟一个日 志文件了。

方法二:

在server.xml里的<host>标签下加上
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
就可以了,下面咱们逐一分析各个参数。

?

还有一些参数:

?

上面是所有的9个参数,刚才咱们说了,pattern这 个参数的值比较多,咱们拿下来单独说:
pattern可以设置成两种方式,第一种是pattern="common",第二种是pattern="combined"

这就可以控制日志里面的格式,各位说了,pattern就这两种?common和combined又是什么意

思,具体是什么格式呢?
别着急,咱们一点一点看,其实pattern是可以设置的,common和combined只是集成了一些显

示方式,就是将显示方式给组合了,pattern 的实际值有如下几种,都是后面一个字母,前面

一个%百分号
咱们先贴出来我的日志里面的一条记录,对应着看

127.0.0.1 192.168.254.108 - -1 127.0.0.1 HTTP/1.1 - GET 80&<60; GET /rightmainima/leftbott4.swf HTTP/1.1 304 5563A67708646B6AA299C33D59BE132A [22/Sep/2007:10:08:52 +0800] - /rightmainima/leftbott4.swf localhost 0 0.000

?

?



common的值:%h %l %u %t %r %s %b
combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i

至于combined的值的最后两个为什么会这样,我也不太清楚…