開発者サブドメイン(dev.example.com)をパスワードで保護し、メインドメインを公開したままにします。
これを再帰的に実行して、サブドメイン上のすべてのファイルまたはフォルダーが常にログインを要求するようにします。
Nginx構成ファイルで、dev.example.comサーバーブロックに以下を追加しました(メインドメインとサブドメインに別々のサーバーブロックがあることに注意してください)。
location ^~ / {
auth_basic "Administrator Login";
auth_basic_user_file /home/path/to/.htpasswd;
}
SFを探し回ったところ、^~
識別子はパスワード保護を再帰的にしますが、そうではありません。
Dev.example.comは特にログインを要求しますが、dev.example.com/folder /はそうではありません。
私は何が間違っているのですか?
サブドメイン全体を保護するには、ステートメントをexistingserver
ブロックに表示する必要があります。
server {
server_name dev.example.com;
auth_basic "Administrator Login";
auth_basic_user_file /home/path/to/.htpasswd;
...
}
これはうまくいくはずです。また、編集が完了したら、必ずnginxを再起動してください。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html/subdomain;
index index.php index.html index.html
server_name dev.example.com;;
location ^~ / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}