Невозможно отобразить пользовательский nginx 403

Невозможно отобразить пользовательский nginx 403

Интересно, могу ли я получить помощь. Я не могу обслуживать пользовательскую страницу 403. Я использую модуль geoip, чтобы заблокировать несколько IP-адресов. Мне нужно обслуживать пользовательский XML-файл в качестве 403. Моя проблема в том, что даже при том, что я настроил все в соответствии с инструкциями (я думаю), я все равно получаю страницу nginx 403 по умолчанию. Пожалуйста, посмотрите мой /etc/nginx/sites-enabled/default и сообщите мне, что не так.

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

Я проверил, что каталоги и xml-файл имеют правильное разрешение. Я могу получить доступ к файлу error.xml, если отключу блокировку geoip. Пожалуйста, дайте мне знать, если у вас есть какие-либо мысли, идеи или какая другая информация, которую я могу предоставить.

Спасибо за вашу помощь

решение1

Мы смогли решить проблему. Страница с ошибкой и "если плохой пользователь" должны были быть в блоке сервера. Надеюсь, это поможет кому-то еще. Спасибо за помощь.

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

Связанный контент