Я только что обновил свой сервер Apache до Apache / 2.4.6, который работает под Ubuntu 13.04. Раньше у меня был файл vhost, в котором было следующее:
<Directory "/home/john/development/foobar/web">
AllowOverride All
</Directory>
Но когда я запустил это, я получил "Запрещено. У вас нет разрешения на доступ /"
После небольшого поиска в Google я обнаружил, что для того, чтобы мой сайт снова заработал, мне нужно добавить следующую строку «Требовать все разрешено», чтобы мой виртуальный хост выглядел так:
<Directory "/home/john/development/foobar/web">
AllowOverride All
Require all granted
</Directory>
Я хочу знать, является ли это "безопасным" и не вызывает ли никаких проблем с безопасностью. Я читал на Apache страница что это "имитирует функциональность, которая была ранее предоставлена директивами" Разрешить от всех "и" Запрещать от всех ". Этот поставщик может принимать один из двух аргументов:" разрешено "или" отклонено ". Следующие примеры будут предоставлять или отклонять доступ ко всем запросам ".
Но в нем не говорилось, было ли это какой-то проблемой безопасности или почему мы должны это делать сейчас, тогда как раньше вам не приходилось этого делать.
Конфигурация управления доступом изменилась в версии 2.4, и старые конфигурации несовместимы без некоторых изменений. Видеть Вот.
Если ваша старая конфигурация была Allow from all
(нет IP-адресов, заблокированных для доступа к услуге), затем Require all granted
новый функциональный эквивалент.
Я знаю, что это старый пост, но я думаю, что могу больше помочь с функциональным примером, который я всегда использую!
В apache 2.2 будет примерно так:
<Location />
Order deny, allow
allow from all
</Location>
<Location /adm>
Order deny, allow
deny from all
allow from myniceip
</Location>
<Location /disabled>
Order deny, allow
deny from all
</Location>
В apache 2.4 будет примерно так:
<Location />
require all granted
</Location>
#Note that you dont need to use require all denied
#to require only a group of ips..
<Location /adm>
require ip myniceip
</Location>
<Location /disabled>
Require all denied
</Location>
Будь осторожен при использовании аутентификации htacess, этот новый синтаксис может плохие и неожиданные вещи, если это ваш случай, прочтите: https://unix.stackexchange.com/questions/413309/apache-2-4-wants-me-to-decide-require-valid-ip-or-require-valid-user и все должно быть хорошо!