Desabilitar o log Nginx para “proibido por regra”

3

Na minha configuração do Nginx, tenho alguns blocos de IP, para combater spammers & bots.

Isso é muito eficaz, mas, como resultado, meus logs de erro são preenchidos rapidamente com mensagens de erro como estas:

2015/12/16 00:56:28 [error] 27748#0: *120462 access forbidden by rule, client: 167.114.xxx.xxx, server: bla bla ....

Agora, não quero desativar totalmente o registro de erros, pois quero descobrir o que está errado quando algo dá errado. Eu só quero desabilitar o registro dessas mensagens "proibido por regra".

Alguma ideia de como fazer isso?

    
por Mr.Boon 16.12.2015 / 08:01

1 resposta

2

Como mencionado aqui , use o registro condicional:

Ativando o log condicional

Conditional logging allows excluding trivial or non-important log entries from the access log. In NGINX, conditional logging is enabled by the if parameter of the access_log directive.

For example, it makes possible to exclude requests with HTTP status codes 2XX (Success) and 3XX (Redirection):

map $status $loggable {
    ~^[23]  0;
    default 1; }

access_log /path/to/access.log combined if=$loggable;

EDITAR: como @zsero descrito no comentário, o registro de log condicional é suportado apenas em access_log não error_log . ref

    
por 17.12.2015 / 14:11

Tags