Не могу попасть на страницу wp-admin (cloudflare, nginx)

Не могу попасть на страницу wp-admin (cloudflare, nginx)

У меня есть сайт WordPress, работающий на Nginx за DNS Cloudflare. Я использовал "set_real_ip_from" для всех IP-адресов Cloudflare в nginx.conf. Когда я пытаюсь получить доступ к своему сайту, я вижу свой реальный IP-адрес в журналах. Я изменил каталог входа администратора WordPress по умолчанию с wp-admin на свое имя каталога. Я хочу, чтобы только определенным IP-адресам было разрешено входить в мой WordPress, но с этим в конфигурации моего сайта блок сервера: location ~ /(wp-admin|wp-login|mydirectory) { allow my.real.ip; deny all; return 404; } я не могу получить доступ к администратору WordPress и получаю 404. Если я удаляю этот блок, все работает нормально, так что, думаю, я что-то не так печатаю? Я поискал на этом форуме несколько разных вариантов, но ни один из них, похоже, не работает. Они либо позволяют мне получить доступ к wp-admin, но тогда любой может получить доступ, либо блокируют всех.

РЕДАКТИРОВАТЬ К сожалению, я не смог заставить его работать, несмотря на все мои попытки, поэтому я удалил блок location ~ /(wp-admin|wp-login|mydirectory), перезагрузил конфигурацию nginx, вошел в WordPress, отключил плагин изменения каталога wp-admin, затем вернулся и снова добавил блок location ~ /(wp-admin|wp-login|mydirectory) внутри него, я добавил location ~ .php$ { как и предложил @Michael Hampton, и теперь я могу получить доступ к своей странице администратора WordPress, используя URL-адрес "wp-admin". Не знаю, почему это не сработало с пользовательским URL-адресом, но, думаю, это сработает, поскольку nginx заблокирует любого, кто попытается получить к нему доступ, хотя было бы интересно узнать, почему это не сработало :/

решение1

Вы получаете ошибку 404, потому что вы специально запросили 404 для всех запросов, соответствующих этому location.

    return 404;

Вам придется удалить это утверждение, если вы хотите получать что-либо, кроме ошибки 404.

Далее вам нужно будет разместить вложенный файл locationдля locationобработки PHP-файлов.

location ~ /(wp-admin|wp-login|mydirectory) {
    ...
    location ~ .php$ {
        ....

Связанный контент