Sua configuração está correta, mas o NginX tende a ser um pouco ... louco? com Ifs. Dê uma olhada na página da wiki If is Evil .
Além disso, em vez de tentar desabilitar o log nessa condição, tente redirecioná-lo para outro log, como /var/log/nginx/access_localhost.log
e veja se ele ajuda (vincule-o a /dev/null
se funcionar ou apenas trunque cada dia).
Lembre-se também que access_log
diretives (e outras diretivas no NginX) não serão herdadas. Esta é uma citação da lista de mensagens do NginX (linkada do wiki do NginX) sobre o assunto:
There is no "global" logs in nginx, only "local" ones, either explicitly defined or inhereted from previous level.
The access_log directive, as all array-type directives in nginx config, will ignore inherited values if defined at certain level. I.e. in configuration
http { access_log log1;
server { server_name server1; } server { server_name server2; access_log log2; ... } }
only server1 will have logging set to log1, while server2 will have logging set to log2. If you want server2 to write log into both log1 and log2 you should say this explicitly, i.e.
server { server_name server2; access_log log1; access_log log2; ... }