我正在尝试使用.htpasswd来保护我的域上的/ admin /部分.
我能够使用此配置成功保护根index.php文件:
location /admin/ {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Run Code Online (Sandbox Code Playgroud)
但该文件夹中的相关文件仍可查看.例如,在http://domain.com/admin/whatever.php上 - 页面加载,然后出现Nginx密码身份验证,但您可以简单地取消它并仍然查看页面.
做了一些研究后,我试图使用正则表达式通配符失败.
location "~^/admin/.$" {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Run Code Online (Sandbox Code Playgroud)
location "~^/admin/*\$" {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Run Code Online (Sandbox Code Playgroud)
我如何密码保护根索引,以及任何子文件夹和文件?过去/ admin /的所有内容都应该无法访问.