1 votos

No se puede mostrar nginx personalizado 403

Me preguntaba si podría conseguir ayuda. No puedo servir una página 403 personalizada. Estoy utilizando el módulo geoip para bloquear algunas direcciones IP. Necesito servir un archivo xml personalizado como el 403. Mi problema es que a pesar de que he configurado todo de acuerdo a las instrucciones (creo) todavía me sale la página 403 por defecto de nginx. Por favor, eche un vistazo a mi /etc/nginx/sites-enabled/default y hágamelo saber lo que está fuera de lugar.

.....
###redirect IP_1
geo $bad_user {
default 0;
bad.ip.1/32 1;
bad.ip.2/32 1;
}

server {

....

####custom 403 error page for ip block
error_page 403 /error.xml;
location = /error.xml {
root /var/www/static;
allow all;
}

####redirect IP_2
if ($bad_user) {
return 403;
}

He verificado que los directorios y el archivo xml tienen el permiso correcto. Puedo acceder al archivo error.xml si desactivo el bloque geoip. Por favor, hágamelo saber si usted tiene cualquier pensamiento, ideas o qué otra información que puedo proporcionar.

Gracias por su ayuda

2voto

user3145049 Puntos 31

Hemos podido resolver el problema. La página de error y "if bad user" tenían que estar en el bloque del servidor. Espero que esto pueda ayudar a alguien más. Gracias por la ayuda.

server {

    listen   80; ## listen for ipv4
    listen   [::]:80 default ipv6only=on; ## listen for ipv6

    server_name  localhost;

    access_log  /var/log/nginx/localhost.access.log;

    location / {
        root   /var/www;
        index  index.html index.htm;
        allow all;
        error_page  403  /error.xml;
            if ($bad_user) {
                return 403;
            }
    }
...
}

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X