nginxカスタム403を表示できません

nginxカスタム403を表示できません

助けていただけないでしょうか。カスタム 403 ページを提供できません。geoip モジュールを使用して、いくつかの IP アドレスをブロックしています。403 としてカスタム XML ファイルを提供する必要があります。問題は、指示に従ってすべてを設定したにもかかわらず (そう思うのですが)、デフォルトの 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 ファイルに適切な権限があることを確認しました。geoip ブロックを無効にすると、error.xml ファイルにアクセスできるようになります。ご意見、アイデア、または私が提供できるその他の情報があればお知らせください。

ご協力いただきありがとうございます

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

関連情報