Назад | Перейти на главную страницу

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>

Обе настройки работают нормально сами по себе, но я не могу заставить их работать вместе:

Однако мне нужны только люди из my-host.com иметь доступ к /foo без базовой авторизации. Подключения с других хостов не должны быть разрешены даже с правильными учетными данными. Фактически, для этих подключений не следует даже запрашивать базовые учетные данные.

Что мне не хватает?

Можете ли вы попробовать это с пустым файлом 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>