Você está assumindo que allow from
permite um asterisco como um caractere curinga, mas não é assim que as coisas são documentado . Em vez disso, use um endereço parcial:
Allow from 192.168.1
Eu tenho um servidor Apache servindo alguns domínios (hosts virtuais). Dentro de um deles, quero que um diretório virtual seja acessível somente a partir da rede local:
<VirtualHost *:80>
DocumentRoot "some_dir"
ServerName www.something.com
Alias /restricted "someotherdir_somewherelse"
<Location /restricted>
Order deny,allow
Deny from all
Allow from 192.168.1.*
</Location>
</VirtualHost>
O problema é que ninguém pode acessar o diretório. É sempre rejeitado.
Se eu remover a diretiva Deny , os computadores locais poderão acessar o local restrito , mas também os externos. Estou um pouco confuso com a documentação do Apache sobre a diretiva Order
:
Deny,Allow
First, all Deny directives are evaluated; if any match, the request is denied unless it also matches an Allow directive. Any requests which do not match any Allow or Deny directives are permitted.
Parece que, quando a diretiva Deny é avaliada, Allow não é. Estou testando a partir de 192.168.1.60 e 192.168.1.23.
O Apache é o 2.2 em execução no Windows 2008 Foundation.
Você está assumindo que allow from
permite um asterisco como um caractere curinga, mas não é assim que as coisas são documentado . Em vez disso, use um endereço parcial:
Allow from 192.168.1