Apache: базовая аутентификация для root, ограничение хоста для каталога
Я хочу ограничить доступ к моему Apache HTTPD, используя базовую аутентификацию для всех файлов, кроме тех, которые находятся в определенном каталоге.
Следующее прекрасно работает для настройки базовой аутентификации для всего сервера:
<Directory />
AuthType Basic
AuthName "Private"
AuthUserFile /usr/local/apache/passwd/passwords
</Directory>
Тем не менее, я также хочу ограничить каталог /foo
на один хост, независимо от основного аутентификации:
<Directory /foo>
Order Deny,Allow
Deny from all
Allow from my-host.com
</Directory>
Обе настройки прекрасно работают сами по себе, но я не могу заставить их работать в комбинации:
- По умолчанию (или если я использую
Satisfy all
в/foo
пункт) пользователи должны прийти с правильного хоста и иметь действительные учетные данные для доступа/foo
- Если я использую
Satisfy any
в/foo
затем пользователи могут иметь действительные учетные данные или исходить из правильного хоста
Тем не менее, я хочу только людей из my-host.com
иметь доступ к /foo
без базовой аутентификации. Соединения от других хостов не должны быть разрешены даже с правильными учетными данными. На самом деле, эти соединения даже не должны запрашиваться для базовых учетных данных.
Что мне не хватает?
1 ответ
Можете ли вы попробовать это с пустым файлом passwd для /foo
<Directory /foo>
Order Deny,Allow
Deny from all
Allow from my-host.com
AuthType Basic
AuthName "my-host only"
AuthUserFile /usr/local/apache/passwd/empty
Satisfy any
</Directory>