Não é possível exibir o nginx personalizado 403

Não é possível exibir o nginx personalizado 403

Me perguntando se eu poderia conseguir alguma ajuda. Não consigo veicular uma página 403 personalizada. Estou usando o módulo geoip para bloquear alguns endereços IP. Preciso servir um arquivo xml personalizado como 403. Meu problema é que mesmo tendo configurado tudo de acordo com as instruções (eu acho), ainda recebo a página nginx 403 padrão. Por favor, dê uma olhada em meu /etc/nginx/sites-enabled/default e me diga o que está fora do 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;
}

Verifiquei que os diretórios e o arquivo xml têm a permissão correta. Consigo acessar o arquivo error.xml se desabilitar o bloco geoip. Por favor, deixe-me saber se você tem alguma opinião, ideia ou qualquer outra informação que eu possa fornecer.

Obrigado pela ajuda

Responder1

Conseguimos resolver o problema. A página de erro e "se usuário ruim" precisavam estar no bloco do servidor. Espero que isso possa ajudar alguém. Obrigado pela ajuda.

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

informação relacionada