访问受密码保护的目录后,我收到 403 Forbidden

访问受密码保护的目录后,我收到 403 Forbidden

我正在使用 nginx,当使用密码保护目录并输入登录详细信息时,出现 403 错误 (:O)

        位置 ~ ^/documents {
        auth_basic "访问受限。";
#旧线。
#auth_basic_user_file /private/pass;
#新队。
       auth_basic_user_文件/var/www/site.com/private/pass;
}

pass 文件就像

thisID:thisPass: 你好评论!

有什么建议吗?

答案1

尽管它与您得到的错误不匹配......

pass 文件就像

thisID:thisPass: 你好评论!

是否假设密码实际上是加密的?我认为应该是;我怀疑您是否可以简单地将人类可读的密码放入该密码文件中。

如果 nginx 期望该文件中有编码/加密的密码,那么如果存储的密码使用其他格式,它将永远找不到好的匹配。(为了找到匹配,它将对用户输入的密码进行编码,并将该编码输入与文件中已知的编码密码进行比较。)事实上,根据文档密码必须通过函数 crypt(3) 进行加密。您可以使用 Apache 的 htpasswd 程序创建密码文件。

这仍然不能解释实际的错误信息,但是当密码文件保存人类可读的密码时,那么这肯定会产生402 Unauthorized403 Forbidden

你也可以在网上创建这样的编码密码,各种网站

答案2

我处理此类事情的经验是,当计算机告诉您文件或目录不存在时......它就不存在!:-)

尝试查找相对于服务器根目录的文件,即

auth_basic_user_file   /private/pass;

答案3

我猜想位置/文件路径与预期不匹配。您确定文件路径的语法绝对正确吗?

此外,服务器是否具有对相关密码文件的读取权限?

相关内容