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