apacheri访问日志记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apacheri访问日志记录相关的知识,希望对你有一定的参考价值。

访问日志不记录静态文件
技术分享图片
按F12默认定位在network
技术分享图片
重新刷新网页
每一行都是元素
技术分享图片
修改虚拟主机配置文件
SetEnvif 环境 ENV=!img
技术分享图片
验证
技术分享图片
上传图片之后 访问有图片显示
技术分享图片
日志里面却没有记录PNG
技术分享图片
配置静态元素的过期时间
技术分享图片
修改虚拟主机配置文件
技术分享图片
编辑主配置文件 打开expires模块
技术分享图片
查看模块是否开启
技术分享图片
验证
技术分享图片
去掉模块
技术分享图片
再次验证没有过期时间
技术分享图片
apache 日志中记录代理IP以及真实客户端IP
默认情况下log日志格式为:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
其中%h 是记录访问者的IP,如果在web的前端有一层代理,那么这个%h其实就是代理机器的IP,这不是我们想要的。在这种情况下,
%{X-FORWARDED-FOR}i 字段会记录客户端真实的IP。所以log日志改为:
LogFormat "%h %{X-FORWARDED-FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
apache只记录指定URI的日志
我的需求是,把类似请求 www.aaa.com/aaa/... 这样的请求才记录日志。
在httpd.conf 或者 相关的虚拟主机配置文件中添加
SetEnvIf RequestURI "^/aaa/.*" aaa-request
CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/aaa-access
%Y%m%d.log 86400" combined env=aaa-request
这样就可以了。这个原理和不记录图片等静态访问的日志(http://www.lishiming.net/thread-561-1-1.html)是一样的

以上是关于apacheri访问日志记录的主要内容,如果未能解决你的问题,请参考以下文章

nginx 不记录访问日志是怎么回事

访问日志不记录静态文件配置访问日志切割配置静态元素过期时间

11.22-11.24访问日志不记录静态文件,访问日志切割,静态元素过期时间

Nginx访问日志日志切割静态文件不记录日志和过期时间

访问日志不记录静态文件访问日志切割静态元素过期时间

设置日志不记录指定类型的文件,日志文件的切割