基本身份验证在apache 2.4中不起作用

时间:2013-04-19 09:23:49

标签: .htaccess authentication apache2 .htpasswd

的httpd.conf

LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so

的httpd-vhosts.conf

<VirtualHost *:8080>
        ServerAdmin webmaster@192.168.1.162
        DocumentRoot "/data/www/sites/default/public"
        ServerName 192.168.1.162
        ErrorLog "/data/www/logs/apache/192.168.1.162-error_log"
        CustomLog "/data/www/logs/apache/192.168.1.162-access_log" combined
    <Directory "/data/www/sites/default/public">
        Options -Indexes
        AllowOverride All
        Order allow,deny
        Allow from all
        AuthType Basic
        AuthName "Restricted Resource"
        AuthBasicProvider file
        AuthUserFile /data/svn/htpasswd
        Require valid-user
    </Directory>
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/www/sites/default/public/$1
</VirtualHost>

我可以获取输入用户和密码的信息,但始终无法验证。我确定密码正确且htpassswd文件不在文档根文件夹中。

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

听起来你可能安装了Apache httpd 2.4.4 ,它在htpasswd实用程序中遇到known bug ...如果是这样,请看一下这是responsesimilar question。第一个解决方法与Noora相同 - 即命令行密码规范有效 - 但其中列出的其他解决方案可能更适合您的情况。问题和解决方法适用于.conf - 文件和.htaccess配置。

我只想补充一点,你不需要手动编辑passwd文件,因为-n选项意味着。使用-b就足够了,例如htpasswd -b HTUSERS username password。如果您的passwd文件是FUBAR,那么您可能只需在添加第一个用户时添加-c选项(截断文件)即可重新开始。

祝你好运!

答案 1 :(得分:1)

您确定您的Apache用户(www-data?)可以访问用户文件吗? 此外,您可以删除AuthBasicProvider行。

答案 2 :(得分:0)

我知道我参加派对有点晚了,但Apache 2.4仍然是我正在使用的。显然,它仍然存在这个问题。

我终于成功登录了(因为我知道我的语法和登录已经达到了t,它不可能)。我只是使用普通密码而不是哈希,这不是一个解决方案,但它表明问题来自使用密码哈希 - 显然Apache并没有正确解释它。

答案 3 :(得分:0)

就我而言,问题是由于与未使用但已加载的mod-shib2模块发生冲突。列出您已加载的模块:

1.11.0

,如果存在,请使用以下命令将其卸载:

apache2ctl -M

此固定的基本身份验证。

这与错误https://bugs.launchpad.net/ubuntu/+source/shibboleth-sp2/+bug/1358284

有关