Acesso ao local e diretório do Apache

2

Eu tenho o Apache 2.2 rodando no CentOS 6.4 | Existe aplicação em / directory e folder onde estão alguns arquivos, digamos que seja / public.
Eu preciso permitir acesso ao / directory para ip1, ip2, ip3 e permitir acesso a / public folder para ip1, ip2, ip3, ip4, ip5. E ip5 e ip4 não têm permissão para acessar /. Eu tentei fazer isso com essa configuração:

<Location / >
    Require ip ip1 ip2 ip3
</Location>
Alias /public /some/path
<Directory /some/path>
    Options +Indexes
    Require ip ip1 ip2 ip3 ip4 ip5
</Directory>


Mas ip4 e ip5 não podem acessar / pasta pública.
Como posso conceder acesso a esses endereços IP?

UPD1
Se eu usar o

<Location /some/path>
Require ip ip1 ...
</Location>

em vez de usar o Alias e o Directory, eu tenho acesso, mas não há lista de arquivos no navegador. Parece que eu deveria usar em vez disso, mas eu não tenho acesso a este diretório.

    
por erizo 05.05.2014 / 15:22

1 resposta

3

Você define / public como um URL de alias e não como um Diretório . Então, a configuração não funciona porque o Apache não encontra / public como Directory.

Tente alterar

<Directory /public>
    Options +Indexes
    Require ip ip1, ip2, ip3, ip4, ip5
</Directory>

para

<Location /public>
    Require ip ip1, ip2, ip3, ip4, ip5
</Location>

Observação: a diretiva de opções não funciona dentro da diretiva Location

Como configuração alternativa, você pode especificar / some / path em vez de / public na diretiva Directory

<Directory /some/path>
    Options +Indexes
    Require ip ip1, ip2, ip3, ip4, ip5
</Directory>

UPDATE

Você deve colocar a restrição de IP na diretiva Location , porque o Location será mesclado após Directory (consulte a documentação ). Configuração atualizada é

Alias /public /some/path
<Location /public>
    Require ip ip1 ip2 ip3 ip4 ip5
</Location>
<Directory /some/path>
   Options +Indexes
</Directory>
    
por 05.05.2014 / 16:07