nginx 设置 access_log 登录日志条件过滤

使用lvs设置了负载均衡,应用服务器记录日志的时候,会有大量从 119 和 120 两个 ip 的登陆日志记录,但是这些都是我不需要的,所以想设置 nginx 不记录这两个 ip 的登录日志。

网上冲浪得知如何设置:

map $status $loggable {
    default 1;
    "((10)\.)((127)\.)((1)\.)(119|12[0-6])" 0;
}

access_log /path/to/access.log combined if=$loggable;

然后开开心心的执行 sudo ./nginx -t,得到报错:

[sss@sss sbin]$ sudo ./nginx -t
nginx: [emerg] invalid parameter "if=$loggable" in /*/*/nginx/conf/nginx.conf:33
nginx: configuration file /*/*/nginx/conf/nginx.conf test failed

我寻思我和官网配置的一样啊,没毛病啊,怎么就不对呢,然后在 这里 偶然看到了这句话: nginx 1.7.0+ allows using an if condition in access_log directive itself.,再去官网确认一下版本更新内容,果然:
在这里插入图片描述
,最后再查一下我自己的版本:

./nginx -V

nginx version: nginx/1.1.16

完蛋,版本也太老了,不折腾了,如果再升级一下 nginx 估计又有其他问题了,写个脚本删一删无用的日志吧=。=

猜你喜欢

转载自blog.csdn.net/weixin_41474364/article/details/106237696
今日推荐