CentOS Apache:基本身份验证返回 403 而不是 401

CentOS Apache:基本身份验证返回 403 而不是 401

我在 /var/www/html 中有三个目录,其中一个目录具有以下内容:

Order Allow, Deny
Allow from all
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName 'lalalal'
AuthType Basic

Require user lala

当向该目录发送请求时,服务器返回 403 而不是 401。
当请求其他目录时,服务器返回 200。
同样有趣的是,当检查服务器信息页面时,没有一行引用受保护的目录,也没有它的同级目录。

编辑

错误日志显示:
“权限被拒绝:/var/www/html/drugi/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读”
.htaccess 文件有 644 个权限。

答案1

Order Allow, Deny
Allow from all

如果您使用 HTTP 身份验证,则不需要这些,您可以摆脱它们。(并且如果逗号后有空格,则顺序会中断

顺便说一句,最好将 htpasswd 文件保存在 Web 文档目录之外。

由于您已经用附加信息更新了您的问题,我想说您还应该检查目录中的权限,以ls -alZ检查 Unix 权限和 SELinux 上下文。

答案2

403 表示存在权限错误。请检查用户apache是否有权读取 .htaccess 文件,以及是否具有遍历 drugi 目录树的权限,因此该权限适用r-x于其他人(如果它不属于 apache)或r-x所有者/组(如果它属于 apache 或其组)。

相关内容