【发布时间】:2014-11-09 08:56:12
【问题描述】:
我需要保护运行 Nginx 的 Ubuntu Server 12.04 中的特定文件夹。
我遵循了这个教程:http://nginxlibrary.com/password-protect-a-directory/ 还有很多人喜欢它。
我使用 apache utils 创建了一个名为 .htpasswd 的文件并将其放入 /etc/nginx/passwords
然后去配置文件中的server块放
location /var/www/mywebsitedir.com/folderthatneedsprotection {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/passwords/.htpasswd;
}
我还尝试了许多位置指令的变体,例如使用通配符 ^~ 等,但它仍然不起作用。我真的需要密码保护一个目录,但它似乎不起作用!非常感谢任何帮助。
【问题讨论】:
-
我想出了一个部分解决方案。检查服务器根目录的位置并在重新启动 Nginx 后等待 10 分钟让服务器传播非常重要。但现在我的另一个问题是,如果您单击取消,您仍然可以看到该页面,但它是一个裸 html 页面。但是,如果您单击其链接并再次单击取消,您将通过该页面并转到下一个裸 html 页面。我该如何解决这个问题?
-
更具体地说,如果我点击取消,我看不到目录内的文件和目录需要 401 授权。仅在目录本身上。
-
location是 URI,而不是 FS 路径。
标签: .htaccess nginx ubuntu-12.04 password-protection .htpasswd