基本身份验证 Apache 不起作用

基本身份验证 Apache 不起作用

我的 Apache 有问题,我需要使用密码保护站点文件夹。我已经做了很多次,但在这个服务器上它不起作用,我不知道该怎么办。

我将其插入到.htaccess文件中:

AuthType Basic
AuthName "Members Only"
AuthUserFile /opt/.htpasswd
require valid-user

/opt/.htpasswd我已经使用命令创建了文件htpasswd,但是当我访问该网站时,没有显示任何询问密码的弹出窗口。

答案1

我尊敬的人曾经给过我关于调试问题的非常有见地的建议.htaccess

在尝试其他操作之前,请在文件顶部添加以下行.htaccess

CopaCabanaDrama True

然后尝试加载应由该文件控制的页面.htaccess

如果您没有收到 HTTP 500 错误,那么您当前面临的问题是 Apache甚至没有读取htaccess文件,在尝试其他事情之前你应该先解决这个问题。

(如果它确实解析了该.htaccess文件,它将读取该行并抛出错误,因为该行是故意无意义的)

检查主 apache 配置(通常/etc/apache2/在配置的特定部分下找到,该部分直接寻址您正在处理的目录,可能是/etc/apache2/sites-enabled/.

检查这些文件,直到找到与DocumentRoot当前目录路径部分匹配的文件,然后查看其文件AllowOverrideAccessFileName设置以获取线索。

(如果是后者,你需要给你的网站管理员一个大大的侧眼,但这是可能的)

答案2

您可能没有auth_basic在此 Apache 中安装或启用该模块。您可以通过执行以下操作ls /etc/apache2/mods-enabled来检查 auth_basic.load 是否存在并通过执行以下操作来启用它:

a2enmod auth_basic

由于基本身份验证(通过非加密的 HTTP)可能会带来安全问题,因为用户名和密码可能会被嗅探,因此默认情况下并不总是启用它。

相关内容