3
我试图设置基本的HTTP身份验证与多层Nginx。我想为整个网站提供一个用户名&,除了某个子目录(URL)和该子目录的一个单独的用户名密码&。如果有人导航到该子目录,我希望仅提示它们提供子目录特定的凭据,而不是用于站点根目录的凭据。Nginx密码保护根目录,并为子目录分开密码
我该如何设置?
我试图设置基本的HTTP身份验证与多层Nginx。我想为整个网站提供一个用户名&,除了某个子目录(URL)和该子目录的一个单独的用户名密码&。如果有人导航到该子目录,我希望仅提示它们提供子目录特定的凭据,而不是用于站点根目录的凭据。Nginx密码保护根目录,并为子目录分开密码
我该如何设置?
参考:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
假设子目录网址是http://www.example.com/admin/。
步骤1:创建2个文件中存储的用户名/密码(加密的)对使用htpasswd
# to secure the admin site
htpasswd -bc /tmp/admin_passwd.txt admin adminpassword
# to secure the main site
htpasswd -bc /tmp/site_passwd.txt user userpassword
步骤2:设置你的nginx配置:
server {
listen 80;
server_name www.example.com;
root /tmp/www;
location ^~ /admin/ {
auth_basic "secured site admin";
auth_basic_user_file /tmp/admin_passwd.txt;
}
location/{
auth_basic "secured site";
auth_basic_user_file /tmp/site_passwd.txt;
}
}