Wie vermeidet man die Wiederholung von Zugriffssteuerungsanweisungen „Zulassen“/„Verweigern“ in mehreren Verzeichnisdirektiven in Apache2 VirtualHosts?

Wie vermeidet man die Wiederholung von Zugriffssteuerungsanweisungen „Zulassen“/„Verweigern“ in mehreren Verzeichnisdirektiven in Apache2 VirtualHosts?

Auf Apache2 habe ich einen VirtualHost mit einer Reihe von <Directory>Anweisungen/Abschnitten, die mehrere Zugriffskontrollanweisungen enthalten

dh

<Directory /foo>
    Order Deny,Allow
    Deny from all
    Allow from ...
    Allow from ...
    ...
</Directory>
...

Gibt es eine Möglichkeit, die Zugriffskontrolle auf einer höheren Ebene (darüber <Directory>) festzulegen? Oder sollte ich Makros verwenden?

Dank im Voraus!

Antwort1

Wenn ich Ihre Frage richtig verstehe, suchen Sie nach einer Möglichkeit, eine Reihe von Zulassungs-/Ablehnungseinschränkungen auf eine Reihe von Verzeichnissen anzuwenden, die möglicherweise kein gemeinsames übergeordnetes Verzeichnis haben.

Sie können alle Ihre Zulassungs-/Verweigerungsdirektiven in einer separaten Datei ablegen (nennen Sie sie beispielsweise , /etc/httpd/conf.d/accesslistoder wie es in Ihrer Distribution sinnvoll erscheint) und dann das IncludeVerzeichnis verwenden, um diese Regeln an den entsprechenden Stellen einzufügen:

<Directory /some/directory>
  Include /etc/httpd/conf.d/accesslist
</Directory>

<Directory /another/directory>
  Include /etc/httpd/conf.d/accesslist
</Directory>

Wenn Ihre Verzeichnisse jedoch alle eine gemeinsame Konfiguration aufweisen, können Sie etwas wie verwenden, mod_macroum eine wiederverwendbare Vorlage mit Variablensubstitution zu erstellen.

verwandte Informationen