Apache htaccess passwd - 忽略正确的登录

Apache htaccess passwd - 忽略正确的登录

我想用密码保护目录。我在 Centos 上运行带有 cPanel 的 Apache 2。

就本文而言,目录如下/home/user/my-secret-dir

我使用 cPanel 的“密码保护目录”来创建登录详细信息,并将其存储在新/home/user/.htpasswds/my-secret-dir/passwd文件中。

它没有做的是在任何地方创建 AuthType 配置 - 我可以简单地访问目录而无需提示(当我让它工作时,它只是一个通用的 index.html)。

于是我创建了/home/user/my-secret-dir/.htaccess自己,内容如下:

AuthType Basic
AuthName "My Secret Directory"
AuthUserFile "/home/user/.htpasswds/my-secret-dir/passwd"
require valid-user

这现在会导致浏览器提示输入登录详细信息,但是在输入正确的用户名和密码后,它的行为就像输入错误一样,并重新提示输入详细信息。

我输入的详细信息绝对正确。

我之前已经在同一台服务器上设置了一个受密码保护的目录(尽管针对不同的帐户/域)并且运行良好(现在仍然有效),并且我比较了两者并且没有发现任何显著差异。

有什么想法可能导致持续的提示,以及如何解决它?

答案1

这是一个权限问题 - Apache 无法访问身份验证文件,因此将所有内容视为无效。

检查日志发现:

(13)权限被拒绝:无法打开密码文件:/home/user/.htpasswds/my-secret-dir/passwd

事实证明该/home/user/.htpasswds目录之前就已经存在,并且具有不正确的权限。

我更新了权限,以便 Apache 能够访问它,然后登录就可以按预期进行。

相关内容