`
dwangel
  • 浏览: 267316 次
社区版块
存档分类
最新评论

tomcat访问日志中过滤阿里云SLB健康检查

 
阅读更多
阿里云 负载均衡 SLB 使用 对 路径 / http的method为 HEAD 请求检查服务。

因此目标是过滤掉这种请求。

需要解决几个问题
  • 哪里配置tomcat的访问日志过滤
  • Tomcat的对 / 的访问处理在哪里。


问题一的答案是
在tomcat的conf目录下server.xml中
有如下内容配置访问日志。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
该标签 支持 conditionUnless 属性,当该属性配置为"attrName"时,
ServletRequest.getAttribute("attrName")为null,才会输出该日志。

问题二的答案是
是 在 webapps的ROOT应用中。

以上信息提供了解决思路
1. 配置server.xml <Value 标签中加上 conditionUnless="healthCheck"
2. 编写一个filter,在 head / 时设置ServletRequest.setAttribute("healthCheck","1") 。
并 注册到ROOT应用中。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics