У меня есть 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
раздел не блокируется. Разве я не понимаю, что корректные отклоняют/позволяют порядок? Или есть ли некоторая другая директива, которую я должен использовать?
Ваш заказ
неверна.
Порядок
указывает, как 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-е разрешение, последнее отклонение), доступ будет запрещен . allow
, поэтому он разрешит доступ. к этому:
order deny,allow
Deny from 65.74.5.130
65.74.5.130
соответствует только deny
, поэтому запрещает доступ allow
или deny
, поэтому будет выполнено действие по умолчанию allow
, разрешающее доступ.