Você pode tentar com um arquivo passwd vazio para / 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>
Eu quero restringir o acesso ao meu Apache HTTPD usando autenticação básica para todos os arquivos, exceto aqueles em um determinado diretório.
O seguinte funciona bem para configurar a autenticação básica para todo o servidor:
<Directory />
AuthType Basic
AuthName "Private"
AuthUserFile /usr/local/apache/passwd/passwords
</Directory>
No entanto, também quero restringir o diretório /foo
a um único host, independentemente da autenticação básica :
<Directory /foo>
Order Deny,Allow
Deny from all
Allow from my-host.com
</Directory>
Ambas as configurações funcionam bem sozinhas, mas não consigo trabalhar em conjunto:
Satisfy all
na cláusula /foo
), os usuários precisam vir do host correto e ter credenciais válidas para acessar /foo
Satisfy any
na cláusula /foo
, os usuários poderão ter credenciais válidas ou vir do host certo No entanto, quero que apenas pessoas de my-host.com
tenham acesso a /foo
sem autenticação básica . Conexões de outros hosts não devem ser permitidas mesmo com as credenciais corretas . Na verdade, essas conexões não devem ser solicitadas por credenciais de autenticação básicas.
O que estou perdendo?
Você pode tentar com um arquivo passwd vazio para / 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>