从 nginx 访问日志中排除 IP

从 nginx 访问日志中排除 IP

如何从访问日志中排除某些 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; 
} 
[...] 
}

我尝试了这个:

map $remote_addr $log_ip { 
"80.80.80.80" 0; 
default 1; 
} 
server { 
[...]
access_log /var/www/web/access.log main if=$log_ip; 
[...]
}

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

非常感谢你的建议

答案1

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

相关内容