IP限制和Ip Access记录 tomcat配置

本文介绍如何在Tomcat中配置IP访问限制及详细访问日志记录方法。通过在context.xml或server.xml中添加特定Valve组件,实现允许或拒绝指定IP地址的访问,并配置FastCommonAccessLogValve来生成按小时或分钟滚动的访问日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的值的最后两个为什么会这样,我也不太清楚…

 

下面做参考

 <Context path="/ASMIS" debug="0" privileged="true" reloadable="true"

docBase="/opt/apache-tomcat-5.5.23/webapps/ASMIS"

workdir="/opt/apache-tomcat-5.5.23/webapps/ASMIS">

<Valve className="org.apache.catalina.valves.RemoteAddrValve"

allow="1.202.133.*,123.125.200.*, 211.151.36.*, 124.42.*.*, 122.11.50.*, 127.0.0.1" deny="all"/> </Context>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值