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

Директива apache deny не работает

Решение: я должен поместить директивы allow / deny в первую директиву Directory (которая также относится к корню). Я предполагаю, что это потому, что у него есть AllowOverride None, который не позволяет детям указывать разрешение / запрет?

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

Оригинал:

Эта конфигурация по-прежнему разрешает доступ ко всем IP-адресам после перезапуска 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>

Это должно сработать. Я только что проверил ваш код на своем сервере, чтобы убедиться, что я не сумасшедший. Вы уверены, что у вас нет определения перед этим, имеющим приоритет?

Создайте тестовый файл в папке на вашем сервере. Что-то вроде test.txt. Вы можете обнаружить, что не видите его, когда загружаете этот URL-адрес в свой браузер. В этом случае ваше определение выше пропускается.

Для того, что вы хотите сделать, то есть разрешить только 127.0.0.1, вы должны сделать следующее:

Order Allow,Deny
Allow from 127.0.0.1

Что сначала говорит: allow вещи, тогда deny вещи, и deny вещи, которые не совпадают.

Также не следует ставить <Directory> блок внутри вашего <VirtualHost> один, но до него.

Это система Plesk? Иногда вам нужно наблюдать, как компилируются различные HTTP-включения. У вас может быть что-то в более позднем включаемом файле, которое перекрывает ваш первый оператор.

Спасибо. этот код работает.

ИмяVirtualHost 127.0.0.1

ИмяVirtualHost 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>