nginx 認証とカスタムエラーページ

nginx 認証とカスタムエラーページ

ドメイン上のファイルを参照する前に認証を要求するようにサーバーを設定しようとしています。ただし、placeholder.html認証に失敗した場合にカスタム エラー ページ ( ) を表示したいと考えています。

以下にリストされているサーバー構成を試しましたが、ブラウザが無限リダイレクト ループに陥ってしまいます (認証ウィンドウも表示されません)。 どなたか説明していただけますか? どのように解決しますか?

server {
        listen 80;
        server_name example.com;

        root /var/www/example.com;
        index index.html index.htm;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/auth/example.com.auth;

        error_page 401 placeholder.html;

        location = placeholder.html {
                auth_basic off;
        }

        location / {
                try_files $uri $uri/ =404;
        }
}

答え1

およびディレクティブplaceholder.htmlの両方の前に先頭のスラッシュを追加する必要があります。locationerror_page

関連情報