nginx访问日志忽略某些请求

我在haproxy后面运行nginx(在同一台服务器上运行).我已经配置haproxy在nginx上使用一个简单的html文件来验证服务是否正常,因为我没有/想要在这个主机上有一个有效的“/”URL. Nginx不支持OPTIONS请求类型(据我所知)
是haproxy使用的默认值,因此我将其更改为GET.

由于我在nginx中打开了访问日志,因此我在访问日志中获得了所有这些正常运行时轮询请求.有没有办法可以配置nginx忽略某些请求,并跳过记录它们?

这是haproxy后端:

backend static_http
        option  httpchk GET /test.html
        option  redispatch
        balance roundrobin
        #fullconn 1000
        server  w1_static www1:81 check port 81 inter 2000

这是我在nginx日志中看到的内容:

127.0.0.1 - - [24/Jul/2009:19:28:22 +0000] "GET /test.html HTTP/1.0" 200 12 "-" "-"
127.0.0.1 - - [24/Jul/2009:19:28:24 +0000] "GET /test.html HTTP/1.0" 200 12 "-" "-"
127.0.0.1 - - [24/Jul/2009:19:28:26 +0000] "GET /test.html HTTP/1.0" 200 12 "-" "-"
127.0.0.1 - - [24/Jul/2009:19:28:28 +0000] "GET /test.html HTTP/1.0" 200 12 "-" "-"
127.0.0.1 - - [24/Jul/2009:19:28:30 +0000] "GET /test.html HTTP/1.0" 200 12 "-" "-"
最佳答案
你现在可以这样做

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

map $request_uri $loggable {
  / 0;
  /healthcheck.html 0;
  default 1;
}

server {
...
  access_log /var/log/nginx/access.log combined if=$loggable;

}

转载注明原文:nginx访问日志忽略某些请求 - 代码日志