У меня есть настройка блога 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 через файл конфигурации nginx.
location /xmlrpc.php {
deny all;
access_log off;
}
Я просматриваю файл доступа и вижу, что к нему все еще обращаются. Понятия не имею почему. Я пробую завиток со своей машины разработчика со случайными параметрами и получаю файл xml. Я не знаю, почему я получаю XML-файл.
Я заметил, что все запросы поступают с одного и того же сервера. Так что я думаю, давайте просто заблокируем ip, так что я делаю
sudo ufw deny from 80.82.64.220
Я проверяю статус, и он показывает, что правило добавлено. Я просматриваю файл доступа и все еще вижу, что к файлу обращаются.
Все изменения в брандмауэре и файле конфигурации nginx, включая файл журнала доступа, находятся на моем реальном сервере. Этот сервер находится за обратным прокси-сервером nginx. Журнал доступа обратного прокси-сервера не имеет этого журнала доступа, поэтому я предполагаю, что доступ к основному серверу осуществляется напрямую.
Но как все еще осуществляется доступ к файлу?
Блок местоположения не работает, потому что он не обрабатывает /xmlrpc.php
запрос. Видеть этот документ для подробностей.
Использовать ^~
модификатор или =
конструкция для повышения приоритета блока местоположения (см. этот документ подробнее):
location = /xmlrpc.php { ... }