私は自分のウェブサイトの一部を次のように保護していauth_basic
ます:
location / {
auth_basic "Authorization Required";
auth_basic_user_file .htpasswd;
index app.php;
try_files $uri @rewriteapp;
}
許可されていないユーザー([キャンセル]をクリックしたユーザー)の場合、カスタムエラーページを表示したいと思います。これが私がそれをした方法です:
error_page 401 = @error401;
location @error401 {
rewrite ^ /error/401.html redirect;
}
location /error {
expires max;
add_header Pragma public;
add_header Cache-Control "public";
index app.php;
try_files $uri @rewriteapp;
}
「リダイレクト」を指定できるように、@ error401エイリアスを作成する必要がありました。これは、内部リダイレクトを使用した場合、アプリが元のリクエストを処理する(そして実際にリクエストされたページにアクセスできるようにするため)ためです。
したがって、これは正常に機能し、ページが表示されます。問題は、nginxがユーザーにクレデンシャルを要求することすらしないことです。
これを修正する方法はありますか?または、この問題を処理するためのより良い方法はありますか?