Wir haben gehört, dass es aus Sicherheitsgründen sinnvoll ist, alles im virtuellen Host so zurückzusetzen, dass nichts zugelassen wird, und dann eine weitere Anweisung zu verwenden, um bestimmte Zugriffe zuzulassen – etwa so:
<VirtualHost *:80>
DocumentRoot /home/example/public_html
<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<Directory /home/example/public_html >
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
Irgendwie macht es Sinn, aber wir sind uns nicht sicher und würden uns daher über ein paar Meinungen zur besten Einrichtungsmethode freuen.
Antwort1
Wenn Sie die Direktive tatsächlich so verwenden <Directory />
, wie sie dort steht, ändern Sie nichts für diesen virtuellen Host, sondern deklarieren immer wieder dieselben Overrides für das Verzeichnis /
.
Diese Optionen bewirkten also nichts, oder im besten Fall <Directory />
wurde nur der letzte gefundene Abschnitt angewendet:
https://httpd.apache.org/docs/current/sections.html#merging
Wenn dieser Abschnitt für jeden virtuellen Host gleich aussieht, verursacht das keine Probleme. Wenn sich jedoch einige virtuelle Hosts unterscheiden und sich die Anzahl der virtuellen Hosts im Laufe der Zeit ändert, wird es verwirrend, herauszufinden, welche Direktive <Directory />
angewendet wurde.
Ich würde den <Directory />
Abschnitt von allen virtuellen Hosts entfernen und ihn einmal in einer globalen Konfiguration deklarieren.