
ドメイン上のファイルを参照する前に認証を要求するようにサーバーを設定しようとしています。ただし、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
の両方の前に先頭のスラッシュを追加する必要があります。location
error_page