cjc
me colocou no caminho certo. Usar access_log
em uma instrução if
por si só não é possível (você recebe um erro nginx: [emerg] "access_log" directive is not allowed here
). Portanto, a solução alternativa é a seguinte:
if ($http_user_agent ~* (crawler) ) {
set $crawler 'yes';
}
location ~ .* {
if ($crawler = 'yes') {
access_log /var/log/nginx/blockedbots.log;
return 200;
}
}