Fedora 29 с HTTPD Apache 2.4
По умолчанию доступ к системе каталогов сервера защищен этой записью в httpd.conf:
<Directory />
AllowOverride none
Require all denied
</Directory>
... и перезаписывается отдельно для каждого каталога с дополнительными правилами <каталог>
; поэтому у меня есть блоки виртуального хоста, как показано ниже, и я хотел бы запустить тест, чтобы убедиться, что
не разрешает доступ за пределами DocumentRoot. Как мне это сделать?
<VirtualHost insurgent.info:80>
DocumentRoot "/var/httpd/insurgent"
ServerName insurgent.info
<Directory "/">
Require all granted
Options Indexes FollowSymLinks IncludesNoExec
AllowOverride None
XBitHack Full
</Directory>
<Directory "/var/httpd/insurgent/.cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/httpd/insurgent/.cgi-bin/"
</IfModule>
</VirtualHost>
Каталог указывает на каталог в вашей файловой системе, поэтому в виртуальных хостах вы указываете
<Directory /var/httpd/insurgent>
Require all granted
#other directives
</Directory>
для разрешения доступа к вашему documentroot.
Официальная документация очень специфична в этом отношении: http://httpd.apache.org/docs/2.4/mod/core.html#directory
Запись, указывающая на /, должна быть только в контексте конфигурации сервера
<Directory />
AllowOverride none
Require all denied
</Directory>
и действительно необходима, чтобы запретить доступ куда-либо ещё, но не используйте её в виртуальных хостах!
.