No se puede mostrar nginx personalizado 403

No se puede mostrar nginx personalizado 403

Me pregunto si podría conseguir algo de ayuda. No puedo publicar una página 403 personalizada. Estoy usando el módulo geoip para bloquear algunas direcciones IP. Necesito entregar un archivo xml personalizado como 403. Mi problema es que aunque configuré todo de acuerdo con las instrucciones (creo), todavía obtengo la página nginx 403 predeterminada. Eche un vistazo a mi /etc/nginx/sites-enabled/default y avíseme qué 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 tengan el permiso correcto. Puedo acceder al archivo error.xml si desactivo el bloque geoip. Por favor, avíseme si tiene alguna idea, idea o qué otra información puedo proporcionarle.

Gracias por tu ayuda

Respuesta1

Pudimos resolver el problema. La página de error y "si es un mal usuario" debían 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;
            }
    }
...
}

información relacionada