В моей конфигурации Apache я сначала запрещаю доступ ко всей файловой системе:
<Directory />
Require all denied
</Directory>
Затем в конфигурации для каждого виртуального хоста разрешаю неограниченный доступ:
<VirtualHost ...>
<Directory /var/www/example.com/>
Require all granted
</Directory>
</VirtualHost>
Или требуйте аутентифицированный доступ:
<VirtualHost ...>
<Directory /var/www/example.com/>
AuthType Basic
AuthName "example.com"
AuthUserFile htpasswd
Require valid-user
</Directory>
</VirtualHost>
Я заметил в документации Apache, что:
И я задался вопросом, может ли использование <Location />
быть способом требовать аутентифицированного доступа для определенного виртуального хоста:
<VirtualHost ...>
<Location />
AuthType Basic
AuthName "example.com"
AuthUserFile htpasswd
Require valid-user
</Location>
</VirtualHost>
Но в документации Apache указано, что:
Директивы ‹Location> не должны использоваться для управления доступом к расположениям файловой системы. а>
Это заставило меня задаться вопросом, является ли не следует рекомендацией для директив <Location>
в целом, и может ли в определенных ситуациях директива <Location />
, в частности, использоваться в качестве исключения для разрешения доступа , или, другими словами, можно ли безопасно использовать директиву Apache <Location>
для настройки доступа к серверу?