IP-адреса блока в Apache VHost с прокси

У меня есть vhost следующим образом:

<VirtualHost *:80>
        ServerName somename.com

        <Proxy *>
                order deny,allow
                Deny from 65.74.5.130
                Allow from all
        </Proxy>

        ProxyPreserveHost On
        ProxyPass / http://0.0.0.0:8890/
        ProxyPassReverse / http://0.0.0.0:8082/
</VirtualHost>

Дюйм/с я вставил Proxy раздел не блокируется. Разве я не понимаю, что корректные отклоняют/позволяют порядок? Или есть ли некоторая другая директива, которую я должен использовать?

1
задан 10 September 2014 в 20:14
1 ответ

Ваш заказ неверна.

Порядок указывает, как apache оценивает директивы allow и deny . В конфигурации и deny, allow вы сначала указываете запрещенные источники, а затем исключения (разрешенные источники) в списке запрещенных.

Поскольку ваш заблокированный IP-адрес совпадает с обеими директивами, вы вводите его как исключение из правила запрета, позволяя ему получить свободный доступ.

Используйте разрешить, запретить с тем же запретить и allow , вы должны ограничить его доступ:

<VirtualHost *:80>
    ServerName somename.com

    <Proxy *>
            order allow,deny
            Deny from 65.74.5.130
            Allow from all
    </Proxy>

    ProxyPreserveHost On
    ProxyPass / http://0.0.0.0:8890/
    ProxyPassReverse / http://0.0.0.0:8082/
</VirtualHost>

Примечание: последний параметр в порядке устанавливает действие по умолчанию ] если не найдено совпадений ни для deny , ни allow , поэтому иметь xxxx от всех не обязательно, но большинство людей предпочитают его устанавливать

Это эквивалентно:

order allow,deny
Deny from 65.74.5.130
Allow from all
  • 65.74.5.130 соответствует как allow , так и deny , применяя порядок (1-е разрешение, последнее отклонение), доступ будет запрещен .
  • любой другой IP-адрес будет соответствовать allow , поэтому он разрешит доступ.

к этому:

order deny,allow
Deny from 65.74.5.130
  • 65.74.5.130 соответствует только deny , поэтому запрещает доступ
  • , любой другой IP-адрес не соответствует h any allow или deny , поэтому будет выполнено действие по умолчанию allow , разрешающее доступ.
4
ответ дан 3 December 2019 в 17:43

Теги

Похожие вопросы