从 nginx 访问日志中排除 IP

omf*_*mfo 5 configuration nginx ip logging

如何从访问日志中排除某些IP地址?这是我的配置:

server {
listen 443 ssl;
[...]
access_log /var/www/web/log/access.log;
error_log /var/www/web/log/error.log;

location / { 
try_files $uri $uri/ /index.php?$args; 
if ($remote_addr = "80.80.80.80") { 
access_log off;
}

location ~ \.php$ { 
include snippets/fastcgi-php.conf; 
fastcgi_pass unix:/var/run/php5-fpm.sock; 
} 
[...] 
}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个:

map $remote_addr $log_ip { 
"80.80.80.80" 0; 
default 1; 
} 
server { 
[...]
access_log /var/www/web/access.log main if=$log_ip; 
[...]
}
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。我的发行版是 Debian 8,nginx 版本是 1.9.10,从 backport 存储库安装。

非常感谢您的建议

小智 0

第二种解决方案有效。您可以尝试检查语法错误nginx -t或升级最新的 nginx 版本。