如何通过响应头禁用nginx访问日志

时间:2016-05-11 12:01:35

标签: nginx

我想使用响应标头关闭访问日志。

如下组所示。

当有标题时,您不想输出日志。

它不起作用。

server {

   listen       80;
   server_name  localhost;

   access_log  logs/access_debug.log  debug_val_format if=$logging;
   set $logging 1;
   if ( $upstream_http_logoff ){
     set $logging 0;
   }

发送响应标头。

Connection:keep-alive
Content-Length:5
Content-Type:text/html; charset=UTF-8
Date:Wed, 11 May 2016 12:04:57 GMT
logoff:1
Server:nginx/1.7.11
X-Powered-By:PHP/5.3.3

1 个答案:

答案 0 :(得分:0)

您应该使用map

map $upstream_http_logoff $logging {
  default 1;
  1       0;
}

也许您应该考虑反转上游逻辑,因此更容易理解:

上游标题logging:0

map $upstream_http_logging $logging {
  default 1;
  0       0;
  1       1;
}