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

简介:

扩展 

apache日志记录代理IP以及真实客户端IP  http://www.lishiming.net/thread-960-1-1.html

apache只记录指定URI的日志  http://www.lishiming.net/thread-981-1-1.html

apache日志记录客户端请求的域名  http://www.lishiming.net/thread-1037-1-1.html

apache 日志切割问题  http://www.lishiming.net/thread-566-1-1.html


 11.22 访问日志不记录静态文件


网站大多元素为静态文件如图片、css、js等这些元素可以不用记录

1. 编辑虚拟机配置文件增加访问日志不记录图片静态文件等规则

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

增加内容(针对访问日志过滤掉图片访问)

SetEnvIf Request_URI ".*\.gif$" img

SetEnvIf Request_URI ".*\.jpg$" img

SetEnvIf Request_URI ".*\.png$" img

SetEnvIf Request_URI ".*\.bmp$" img

SetEnvIf Request_URI ".*\.swf$" img

SetEnvIf Request_URI ".*\.js$" img

SetEnvIf Request_URI ".*\.css$" img

CustomLog "logs/111.com-access_log" combined env=!imgwKioL1mAGonD2-xRAACESG3g6eA226.png

spacer.gif



2. 检测虚拟机配置文件是否有错误

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t


3. 启动apache2.4/httpd

[root@hao-01 apache2.4]# /usr/local/apache2.4/bin/apachectl start


4. 重新加载配置文件(不会重启服务)

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


5. 进入111网站目录

[root@hao-01 ~]# cd /data/wwwroot/111.com


6. 从window上传一张图片当前目录下

[root@hao-01 111.com]# rz


7. curl命令访问111.com下图片名称地址可以通(200 OK)

[root@hao-01 111.com]# curl -x127.0.0.1:80 111.com/clipboard.png -IwKiom1mAGpyiUhKJAAAs4R1rFj0192.png

spacer.gif


8. 在windows游览器中不断刷新访问111.com/clipboard.png(上传图片地址)


9. 查看访问日志是没有看到有.png格式的访问日志这就是被过滤掉了不记录

[root@hao-01 111.com]# tail /usr/local/apache2.4/logs/111.com-access_log


11.23 访问日志切割


日志一直记录总有一天会把整个磁盘占满

所以有必要让它自动切割并删除老的日志文件

1. 编辑虚拟机配置文件把日志规定为以每天日期一个访问日志

[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

访问日志增加更改如下规则(设定日志切割成多个文件)

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!imgwKioL1mAGr2RP8mFAABjRnfB0_w936.png

spacer.gif


2. 检测虚拟机配置文件是否有错误

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t


3. 重新加载配置文件(不会重启服务)

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


4. 用curl命令访问111.com网站下的123.php文件

[root@hao-01 ~]# curl -x127.0.0.1:80 111.com/123.php


5. 列出 apache访问日志目录下全部日志(可看到以日期命名的日志)

[root@hao-01 ~]# ls /usr/local/apache2.4/logs/


6. 查看刚刚访问后生成的日期命名的日志内容(刚刚访问123.php)

[root@hao-01 ~]# cat /usr/local/apache2.4/logs/123.php/111.com-access_20170801.logwKiom1mAGu-R3I6aAAFVboc5Nac176.png

spacer.gif


11.24 静态元素过期时间


1. 修改虚拟主机配置文件定义静态图片等元素过期时间

插入内容(静态图片等元素过期时间的定义)

<IfModule mod_expires.c>

ExpiresActive on

ExpiresByType image/gif "access plus 1 days"

ExpiresByType image/jpeg "access plus 24 hours"

ExpiresByType image/png "access plus 24 hours"

ExpiresByType text/css "now plus 2 hour"

ExpiresByType application/x-javascript "now plus 2 hours"

ExpiresByType application/javascript "now plus 2 hours"

ExpiresByType application/x-shockwave-flash "now plus 2 hours"

ExpiresDefault "now plus 0 min"

</IfModule>

spacer.gifwKiom1mAGwXjZHPvAACBo-Mt4vQ091.png


2. 检测虚拟机配置文件是否有错误

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t


3. 重新加载配置文件(不会重启服务)

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


4. 编辑apache主配置打开含有expires这行(删除这行前面的#号)wKioL1mAGyTBx1EAAAAhVnV_Vco302.png

spacer.gif


5. 搜索apacheexpire模块是否打开

[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -M |grep expirewKioL1mAHguTftYFAAAFBD4EpaE993.png

spacer.gif


6. 用curl命令访问111.com目录下的静态图片clipboard.php:

(显示了当前访问时间和缓存静态过期时间过期就会清理掉了)

[root@hao-01 ~]# curl -x127.0.0.1:80 111.com/clipboard.png -I

spacer.gifwKioL1mAHiajG1PLAABOHfUL0P0876.png











本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1952638,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
存储 Prometheus Kubernetes
轻量级日志可视化平台Grafana Loki接入nginx访问日志
轻量级日志可视化平台Grafana Loki接入nginx访问日志
1407 0
轻量级日志可视化平台Grafana Loki接入nginx访问日志
|
19天前
|
Apache
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
5月前
|
算法
【LeetCode刷题日志】27.移除元素
【LeetCode刷题日志】27.移除元素
|
10月前
|
消息中间件 Kafka
MQ 学习日志(八) 消息队列的延时以及过期失效问题处理
消息队列的延时以及过期失效问题处理
204 0
|
12月前
|
XML Android开发 数据格式
Bug日志(二)-Android网路请求图片地址图片不显示
Bug日志(二)-Android网路请求图片地址图片不显示
|
网络协议 应用服务中间件 UED
Tomcat的访问日志-localhost_access_log和记录Post请求参数
Tomcat的访问日志-localhost_access_log和记录Post请求参数
1937 0
|
数据采集 JavaScript 前端开发
网站流量日志埋点收集 —原理实现雏形—如何解决 js 跨域问题(伪装图片)|学习笔记
快速学习网站流量日志埋点收集—原理实现雏形—如何解决 js 跨域问题(伪装图片)
201 0
网站流量日志埋点收集 —原理实现雏形—如何解决 js 跨域问题(伪装图片)|学习笔记
|
边缘计算 监控 前端开发
利用阿里云Eventbridge在CDN边缘应用程序中访问日志服务SLS
在Web前端领域,追求极致性能是个永恒的话题。这些年的一些新兴理念都是为了提升站点访问性能而提出,无论是Jamstack技术理念或者或者 ESR (边缘渲染),都是Client侧进行性能优化的基础上,进一步拓展到了网络Infra层面,就是我们现在经常讨论的边缘计算。而阿里云的CDN EdgeRoutine 就是为广大客户提供可自由编程的边缘计算能力,我们可以用他来构建边缘节点的网关应用,来访问静态资源或者后端服务。当这个边缘网关在业务上承担的角色越来越重要的时候,我们就对他内部的业务逻辑产生了可观测的诉求,希望能够记录日志到日志服务上,然而日志服务提供的SDK,在ER的环境中暂时不被支持,这个
285 0
|
存储 监控 负载均衡
日志审计:多账号下ALB访问日志的自动化采集与监控
本文主要介绍在日志审计下如何开启ALB访问日志的自动化采集与监控
|
Web App开发 存储 JSON
你还在用命令看日志?快用 Kibana 吧,一张图片胜过千万行日志!
Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。 你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
你还在用命令看日志?快用 Kibana 吧,一张图片胜过千万行日志!