我刚刚将Apache从2003年的版本升级到了干净整洁的全新2.4.1版本。除了一件明显的事情,一切看起来都不错:
在我的httpd.conf文件中,我具有以下内容:
<Directory />
AllowOverride none
Options FollowSymLinks
AuthType Basic
AuthName "Enter Password"
AuthUserFile /var/www/.htpasswd
Require valid-user
</Directory>
这应该只允许指定身份验证文件中的用户访问服务器-就像在旧版本的Apache中一样。(对?)
但是,它不起作用。授予的请求未提供身份验证。当我将日志记录切换到LogLevel Debug进行访问时,它说:
[Sat Mar 24 21:32:00.585139 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of Require all granted: granted
[Sat Mar 24 21:32:00.585446 2012] [authz_core:debug] [pid 10733:tid 32771] mod_authz_core.c(783): [client 192.168.1.181:57677] AH01626: authorization result of <RequireAny>: granted
我真的不知道这意味着什么-并且据我所知,我的任何文件中都没有任何“要求全部授予”或“”语句。
任何想法,为什么这不起作用,或在哪里调试?
更新:
我在SSL端口上有一个虚拟主机,该主机允许代理。当我将相同的条目放入
<proxy *>
virtualhost配置中的子句,它可以工作。它似乎在
<Directory>
条款。然后,我尝试将其他Directory子句放在下面(特定于其他目录),但也没有用。
也
从下面Shane的问题开始-我尝试将根“ /”块复制到“ / tmp”目录。/ tmp目录正确运行!所以-此问题仅特定于根目录???
<Directory>Apache配置中的其他地方有一个更特定的块,该块优先于您设置的块/。
<Directory>您还对不起作用的请求应用了哪些其他块?