【问题标题】:Nginx - Unable to secure directory with htaccess nginxNginx - 无法使用 htaccess nginx 保护目录
【发布时间】: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


【解决方案1】:

请注意,您尝试在 location 指令中使用路径和 url 的组合。相反,它应该只包含域之后的相对 url。

在您的情况下,这很可能是:

location /folderthatneedsprotection {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/passwords/.htpasswd;
}

【讨论】:

    猜你喜欢
    • 2018-11-14
    • 2015-10-23
    • 2018-03-14
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多