.png)
Eu tenho um site wordpress rodando em Nginx por trás do DNS cloudflare. Eu usei "set_real_ip_from" para todos os ips cloudflare em nginx.conf. Quando tento acessar meu site consigo ver meu IP real nos logs. Alterei o diretório de login de administrador padrão do wordpress de wp-admin para o nome do meu diretório. Eu só quero que ips específicos tenham permissão para fazer login no meu wordpress, mas com isso na configuração do meu site, bloco do servidor: location ~ /(wp-admin|wp-login|mydirectory) { allow my.real.ip; deny all; return 404; }
não consigo acessar o administrador do wordpress e recebo 404. Se eu excluir este bloco, tudo estará funcionando bem, então acho que estou digitando Algo errado ? procurei neste fórum com algumas variações diferentes, mas nenhuma delas parece funcionar. Eles me permitem acessar o wp-admin, mas qualquer pessoa pode acessar ou bloqueia todos.
EDITAR Infelizmente, não consegui fazê-lo funcionar, não importa o que tentei, então o que fiz foi excluir o bloco location ~ /(wp-admin|wp-login|mydirectory), recarregar a configuração do nginx, fazer login no wordpress, desativar o diretório de alteração do wp-admin plugin, voltei e adicionei novamente o bloco location ~ /(wp-admin|wp-login|mydirectory) dentro dele, adicionei location ~ .php$ { como @Michael Hampton sugeriu e agora posso acessar minha página de administração do wordpress por usando o URL "wp-admin". Não sei por que não funcionou com o URL personalizado, mas acho que isso servirá, já que o nginx bloqueará qualquer outra pessoa que tente acessá-lo, mas seria interessante saber por que não funcionou:/
Responder1
Você recebe um 404 porque solicitou especificamente um 404 para todas as solicitações correspondentes location
.
return 404;
Você precisará remover esta declaração se quiser receber algo diferente de 404.
Além disso, você precisará colocar um aninhado location
dentro dele location
para processar arquivos PHP.
location ~ /(wp-admin|wp-login|mydirectory) {
...
location ~ .php$ {
....