ubuntu – 仅针对某些请求单独使用Nginx访问日志文件

据我所知,Nginx默认支持2个日志文件:error_log(跟踪与Nginx服务器本身相关的问题)和access_log(跟踪Nginx处理的请求).虽然可以使用 log_format指令控制access_log的格式,但我没有成功找到仅将某些请求记录到单独文件方法,因此我想将SF上的问题作为未来读者的参考:

有没有办法将某些请求记录到不同于access_log定义的日志文件

仅供参考,这个问题背后的原因是我有一条规则拒绝使用200访问不需要的爬虫(因为403会给他们一个暗示他们被阻止的提示),并且从access_log中过滤这些请求变得更加困难.

cjc让我走上正轨.在if语句中单独使用access_log是不可能的(你得到一个Nginx:[emerg]“access_log”指令不允许这里错误).所以解决方法如下:
if ($http_user_agent ~* (crawler) ) {
  set $crawler 'yes';
}
location ~ .* {
  if ($crawler = 'yes') {
    access_log /var/log/Nginx/blockedbots.log;
    return 200;
    }
}

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...