Доступ запрещен правилом — Ведение журнала Nginx

#nginx #logging

#nginx #ведение журнала

Вопрос:

Мы продолжаем получать спам и получать эти сообщения об ошибках:

 [error] 1414#1414: *1327 access forbidden by rule, client: 2a23:4722:3:1::2e, server: ourname.com, request: "POST /xmlrpc.php HTTP/1.1", host: "www.ourname.com"
 

Они не должны регистрироваться так, как мы определили:

 location = /xmlrpc.php {deny all;access_log off;log_not_found off;}
 

Почему эти сообщения все еще регистрируются?

Комментарии:

1. Вы могли бы попробовать return 403; вместо deny all; , который выдает ответ, но может устранить сообщение об ошибке.

2. У меня похожая проблема. Возможно ли просто добавить «error_log off;» к правилу местоположения? Должен ли я просто использовать инструмент для фильтрации этих ошибок и не беспокоиться о них в журнале? Я действительно не вижу смысла в их наличии, если им не о чем беспокоиться.

Ответ №1:

Все директивы, такие как «access_log» и «log_not_found», относятся к access_log. Но ваш журнал error_log . Я думаю, лучше использовать что-то вроде этого

 location = /xmlrpc.php {
  return 403;
  access_log off;
}
 

боты получат «Запрещено»
или

 location = /xmlrpc.php {
  return 404; 
  access_log off;
}
 

боты получат сообщение «Не найдено»

или, может быть, вернуть 444 (трудный путь)