No puedo acceder a la página wp-admin (cloudflare, nginx)

No puedo acceder a la página wp-admin (cloudflare, nginx)

Tengo un sitio web de WordPress que se ejecuta en Nginx detrás del DNS de Cloudflare. He usado "set_real_ip_from" para todas las ips de Cloudflare en nginx.conf. Cuando intento acceder a mi sitio web puedo ver mi IP real en los registros. Cambié el directorio de inicio de sesión predeterminado del administrador de WordPress de wp-admin al nombre de mi directorio. Solo quiero que se permitan ips específicas para iniciar sesión en mi WordPress, pero con esto en la configuración de mi sitio web, bloqueo del servidor: location ~ /(wp-admin|wp-login|mydirectory) { allow my.real.ip; deny all; return 404; } parece que no puedo acceder al administrador de WordPress y obtengo 404. Si elimino este bloque, todo funciona bien, así que supongo que estoy escribiendo. Ocurre algo ? Miré a mi alrededor en este foro con algunas variaciones diferentes pero ninguna parece funcionar. O me permiten acceder a wp-admin pero cualquiera puede acceder o bloquea a todos.

EDITAR Desafortunadamente, no pude hacerlo funcionar sin importar lo que intenté, así que lo que hice fue eliminar la ubicación ~ /(wp-admin|wp-login|mydirectory), recargué la configuración de nginx, inicié sesión en wordpress, deshabilité el directorio de cambio de wp-admin. complemento, luego volví y volví a agregar el bloque ubicación ~ /(wp-admin|wp-login|mydirectory) dentro de él, agregué ubicación ~ .php$ { como sugirió @Michael Hampton y ahora puedo acceder a mi página de administración de WordPress mediante usando la URL "wp-admin". No sé por qué no funcionó con la URL personalizada, pero supongo que esto funcionará ya que nginx bloqueará a cualquiera que intente acceder a ella, aunque hubiera sido interesante saber por qué no funcionó:/

Respuesta1

Obtiene un 404 porque solicitó específicamente un 404 para todas las solicitudes que coincidan con eso location.

    return 404;

Deberá eliminar esta declaración si desea recibir algo que no sea un 404.

Además, deberá colocar un archivo anidado locationdentro locationpara procesar archivos PHP.

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

información relacionada