技术解析

nginx 配置文件问题:根据请求的类型来过滤 access log
0
2021-05-19 15:58:34
idczone

想要在 n美国服务器ginx 上屏蔽掉 OPTIONS 请求不写到 accesslog 里去,然后参照https://blog.rooot.me/p/nginx_access_log_filter.html这篇文章写了如下的配置:

set $logfile /log/xxxx.log ;
if ($request_method = OPTIONS ){
	set $logfile /dev/null ;
}
access_log /$logfile ;

但是配置不生效,求解答


```
以下放到 http 字段内
map $request_method $log{
OPTIONS 0 ;
default 1 ;
}
以下放到 server 下
access_log logs/access.log main if=$log;
```

http://nginx.org/en/docs/http/ngx_http_log_module.html
The if parameter (1.7.0) enables conditional logging. A request will not be logged if the condition evaluates to “ 0 ” or an empty string. In the following example, the requests with response codes 2xx and 3xx will not be logged:
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /path/to/access.log combined if=$loggable;

感谢大佬 解决了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服