Я только что обновил 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>
пункт. Затем я попытался поместить под другие пункты Справочника (специфичные для других каталогов), и это тоже не сработало.
ТАКЖЕ
Из приведенных ниже вопросов Шейна - я попытался скопировать корневой блок "/" в каталог "/ tmp". Каталог / tmp работает ПРАВИЛЬНО !! Итак - эта проблема специфична только для корневого каталога ???
<Directory>в вашей конфигурации Apache есть более специфический блок, который имеет приоритет над тем, который вы установили /.
<Directory>блоки вы применяете к запросам, которые не работают?