这几天被一波一波的CC攻击,分析日志的时候除了攻击IP日志还有大量的cloudxns监控记录很讨厌,每分钟都会几次HEAD请求来判断小鸡是否活着,导致nginx日志很大,还严重影响服务器性能。介绍一种使用NGINX自己的语法来解决这个问题。
这几天被一波一波的 CC 攻击,分析日志的时候除了攻击 IP 日志还有大量的 cloudxns 监控记录很讨厌,每分钟都会几次 HEAD 请求来判断小鸡是否活着,导致nginx 日志很大,还严重影响服务器性能。介绍一种使用 NGINX 自己的语法来解决这个问题。
安装 ngx_log_if,它是 Nginx 的一个第三方模块
先到 Github 下载 ngx_log_if 地址https://github.com/cfsego/ngx_log_if/
安装方法参考:http://wiki.nginx.org/3rdPartyModules
将下面代码放到 nginx.conf 文件的 server 段里:
server {
location / {
access_log_bypass_if ($request_method = HEAD);
}
}
更简单的方法,无需安装模块
新建文本 status.txt 内容随意,注意不要以后缀为.gif/.jpg/.bmp 等图片格式为后缀,如果套了 CDN 会默认缓存,达不到监控目的了;
在 cloudxns 监控地址填入:http(s)://www.xxx.com/status.txt;
修改站点配置文件 server 字段加入: xxx.conf
server {
location ~ .*.(txt)$
{
expires 30d;
access_log off;
}
}
网友评论