网上很多教程说是这样做:
if ($request_method = HEAD) { access_log off; }
试了之后是不行的,正确的做法如下:
http { map $request_method $loggable { HEAD 0; OPTIONS 0; default 1; } log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /usr/local/openresty/server/nginx/logs/access.log main if=$loggable; }
这里过滤掉了HEAD和OPTIONS请求
官方文档地址:http://nginx.org/en/docs/http/ngx_http_log_module.html