В моей конфигурации Nginx у меня есть несколько IP-блоков, чтобы бороться со спамерами и ботами.
Это очень эффективно, но в результате мои журналы ошибок очень быстро заполняются такими сообщениями об ошибках, как эти:
2015/12/16 00:56:28 [ошибка] 27748 # 0: * 120462 доступ запрещен правилом, клиент: 167.114.xxx.xxx, сервер: bla bla ....
Теперь я не хочу полностью отключать ведение журнала ошибок, так как я хочу выяснить, что идет не так, когда что-то идет не так. Я просто хочу отключить регистрацию этих сообщений «запрещено правилом».
есть идеи как это сделать?
Как уже упоминалось Вот, используйте условное ведение журнала:
Включение условного ведения журнала
Условное ведение журнала позволяет исключить тривиальные или неважные записи журнала из журнала доступа. В NGINX условное ведение журнала включается параметром if директивы access_log.
Например, можно исключить запросы с кодами состояния HTTP 2XX (Успех) и 3XX (Перенаправление):
map $status $loggable { ~^[23] 0; default 1; } access_log /path/to/access.log combined if=$loggable;
РЕДАКТИРОВАТЬ: как @zsero описано в комментарии, условное ведение журнала поддерживается только в access_log
не error_log
.ссылка