
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;
}
}
...
}