diretiva de negação do apache não está funcionando

2

Solução: Eu tenho que colocar as diretivas de permissão / negação dentro da primeira diretiva de diretório (que também acontece para a raiz). Eu estou supondo que é porque tem um AllowOverride Nenhum que não permite que qualquer criança especifique permitir / negar?

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
        Deny from xxx.xx.xxx.xx
</Directory>

Original:

Esta configuração ainda permite acesso a todos os IPs após o reinício do apache

<VirtualHost *:80>

    ServerName  www.xxx.com

    DocumentRoot  /var/www/vhosts/xxx

    <Directory /var/www/vhosts/xxx>
        Options Indexes FollowSymLinks
        AllowOverride none
        Order deny,allow
        Deny from all                     
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>
    
por user12145 18.02.2010 / 00:12

4 respostas

2

Isso deve funcionar. Acabei de verificar seu código no meu servidor para ter certeza de que não estava maluco. Tem certeza de que você não tem uma definição antes desta que está tendo precedência?

Crie um arquivo de teste na pasta do seu servidor. Algo como test.txt. Você pode descobrir que não o vê quando carrega esse URL no seu navegador. Se for esse o caso, sua definição acima está sendo ignorada.

    
por 18.02.2010 / 00:45
1

Para o que você quer fazer, isto é, permitir apenas 127.0.0.1, você deve fazer o seguinte:

Order Allow,Deny
Allow from 127.0.0.1

O que diz primeiro, allow coisas, depois deny coisas e deny coisas que não correspondem.

Você também não deve colocar seu bloco <Directory> dentro de seu <VirtualHost> , mas antes dele.

    
por 18.02.2010 / 00:44
0

Este é um sistema Plesk? Às vezes você tem que observar como os vários includes do http estão sendo compilados. Você pode ter algo em um arquivo de inclusão posterior que está escrevendo sua primeira instrução.

    
por 18.02.2010 / 04:25
0

Obrigado. este código funciona.

NameVirtualHost 127.0.0.1

NameVirtualHost 192.168.44.141

<VirtualHost 127.0.0.1 192.168.44.141>

#ServerName localhost.com
    ServerName www.localhost.com
DocumentRoot  "E:/abcd"
<Directory "E:/abcd/files">
    Options Indexes FollowSymLinks
        AllowOverride none
    Order allow,deny
    Allow from 192.168.44.128
    Deny from all

  </Directory>
 </VirtualHost>
    
por 25.02.2013 / 10:53