Директива Автора Apache располагается каскадом для искажения каталогов

У меня есть довольно длинный блок директив конфигурации авторизации в Apache <Directory> контекст в виртуальном конфигурационном файле хоста.
Это имеет учетные данные LDAP и сложный фильтр, который будет раздражающим для репродуцирования в vhost конфигурационном файле.

Вот упрощенный пример:

ServerName server.domain.com
DocumentRoot /var/www/server.domain.com

<Directory /var/www/server.domain.com/>
    AllowOverride FileInfo
    Options +ExecCGI

    # PASSWORD PROTECT
    AuthType Basic
    AuthBasicProvider ldap file
    AuthName "INTERNAL"
    AuthLDAPURL ldap://xxx
    AuthLDAPBindDN uid=xxx,cn=xxx
    AuthLDAPBindPassword xxx
    AuthzLDAPAuthoritative on
    AuthUserFile /var/www/server.domain.com/.htpasswd
    Require valid-user
</Directory>

Alias /alias1 /var/www/alias1.domain.com
<Directory /var/www/alias1.domain.com>
    # ?
</Directory>

Alias /alias2 /var/www/alias2.domain.com
<Directory /var/www/alias2.domain.com>
    # ?
</Directory>

Alias /alias3 /var/www/alias3.domain.com
<Directory /var/www/alias3.domain.com>
    # ?
</Directory>

</VirtualHost>

Теперь, потому что большая часть Auth* директивы должны использоваться в a Directory или .htaccess контекст, я сталкиваюсь с необходимостью повторить полное AuthType...Require valid-user блок для каждого Alias то, что я добавляю.

Единственным путем я могу думать, чтобы избежать, чтобы это разделило подлинный раздел на отдельный файл и ссылку то использование Include.

Как решение Include хорошо работал бы и был бы легок поддержать.

Есть ли другой способ сделать это, которое дает более чистый vhost конфигурационный файл с меньшим количеством повторения?
На всякий случай существует отличный способ выполнения вещей как это в Apache, который я не взял за прошлые 15 лет!

Править: Я должен указать, что причина использую Alias для простого развертывания, я не хочу должным быть воссоздавать символьные ссылки каждый раз, когда я восстанавливаю это DocumentRoot каталог. Я понимаю хотя то использование символьные ссылки и Location обеспечил бы каскад, который я буду искать для предотвращения повторения.
Проблема, которую я сделал, я предполагаю, больше относится к факту это Alias требует соответствия Directory блок, чтобы смочь ограничить доступ.

1
задан 22 February 2014 в 02:00
1 ответ

Можно было бы использовать mod_authn_alias для группировки и повторного использования некоторых директив, но я не думаю, что это сильно поможет. Вам все равно придется повторять много директив.

По моему опыту, решение Include работает хорошо и легко поддерживается.

Можете ли вы применить свои директивы authnz ко всем /var/www? Это устранило бы необходимость указывать их отдельно для каждого подкаталога. Если нет, то, возможно, вы могли бы переместить только те сайты, которым нужен authnz в подкаталог, скажем, /var/www/authnz, и применить настройки только один раз к этому каталогу.

*.
0
ответ дан 4 December 2019 в 08:49

Теги

Похожие вопросы