Назад | Перейти на главную страницу

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

У меня есть веб-сайт WordPress, работающий на Nginx за облачным DNS. Я использовал "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 заблокирует всех, кто пытается получить к нему доступ, хотя было бы интересно узнать, почему это не сработало: /

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

    return 404;

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

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

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