Nginx запрещает все, поскольку блок местоположения не работает должным образом
У меня есть настройка WordPress блога с Nginx. Я продолжаю видеть это
80.82.64.220 - - [10/Nov/2016:08:21:48 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
Это один запрос в секунду. Поэтому я попытался запретить доступ к xmlrpc.php через файл conf nginx.
location /xmlrpc.php {
deny all;
access_log off;
}
Я хватаю файл доступа и вижу, что к нему все еще обращаются. Понятия не имею почему. Я пытаюсь свернуться со своей машины разработчика со случайными параметрами, и я получаю файл XML. Я не знаю, почему я получаю XML-файл.
Я заметил, что все запросы с одного сервера. Так что я думаю, давайте просто заблокировать IP, поэтому я делаю
sudo ufw deny from 80.82.64.220
Я проверяю статус, и он показывает, что правило добавлено. Я хватаю файл доступа и все еще вижу, что к файлу обращаются.
Все изменения в файрволе и конфигурационном файле nginx, включая файл журнала доступа, находятся на моем реальном сервере. Этот сервер находится за обратным прокси-сервером nginx. Журнал доступа обратного прокси-сервера не имеет этого журнала доступа, поэтому я предполагаю, что к главному серверу обращаются напрямую.
Но как получить доступ к файлу?
1 ответ
Блок местоположения не работает, потому что он не обрабатывает /xmlrpc.php
запрос. Смотрите этот документ для деталей.
Использовать ^~
модификатор или =
Конструкция для повышения приоритета блока местоположения (см. этот документ для деталей):
location = /xmlrpc.php { ... }