的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文件不在文档根文件夹中。
我该如何解决这个问题?
答案 0 :(得分:3)
听起来你可能安装了Apache httpd 2.4.4 ,它在htpasswd
实用程序中遇到known bug ...如果是这样,请看一下这是response到similar 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
有关