Управление большим количеством Apache vhost ServerAliases

Вы включили QOS в своем маршрутизаторе?

Кроме того, какова Ваша топология? Скажем, 1 сервер 2 клиента, соединенные через маршрутизатор? Некоторые переключатели, возможно?

2
задан 11 May 2012 в 23:56
4 ответа

Вы можете включить произвольные параметры конфигурации из внешнего файла с помощью директивы Include вместо фактического параметра, который вы хотите извлечь из файла. (есть также опция mod_perl, если вы являетесь мастером Perl старой школы; -)

1. используйте директиву Include , чтобы включить список ServerAlias ​​ из текстового файла в conf.d / mydomain.conf следующим образом;

<VirtualHost *:80>
    ServerName www.mydomainname.com 
    # instead of ServerAlias, include a file containing those directives
    Include /etc/httpd/conf/MyDomainServerAlias.list
...
</VirtualHost>

Затем сгенерируйте список с директивой ServerAlias ​​ с таким префиксом в
/etc/httpd/conf/MyDomainServerAlias.list ;

ServerAlias ​​mysqdomain.com www2.mysqdomain.com www.mysqdomain.com www.mysqdomain.com www.mysqdomain.com www.mysqdTTomain.com www.mCCysqdomain.com www.mysqdomain.com

или по одному на строку, так как это может быть более удобным для проверки и написания сценариев;

ServerAlias mysqdomain.com 
ServerAlias www.mysqdomain2.com 
ServerAlias mysqdomain2.com 
ServerAlias www.mysqdomain.com

2. вы можете динамически настраивать apache, используя блоки , используя mod_perl

 <Perl>
  $ServerName = `hostname`;
  $ServerAlias = 'somethingelse.com';
  </Perl>

. Следовательно, вы можете использовать любое волшебство Perl, которое вам нравится, для настройки списка псевдонимов при запуске ;-)

3. возможно какие-то другие (более простые ;-) способы ...

2
ответ дан 3 December 2019 в 11:56

Вы можете повторять строку ServerAlias ​​в конфигурационном файле vhost несколько раз. Думаю, ближе к тупому text.file не попадешь. Однако не забудьте добавить www ...

0
ответ дан 3 December 2019 в 11:56

Что, если вы настроите свой "всеобъемлющий" сайт в основном контексте, вне области ? Тогда вам понадобится ServerAlias ​​ только для доменов, которые должны быть отдельными виртуальными сайтами.

0
ответ дан 3 December 2019 в 11:56

Как насчет написания программы для заполнения этих строк за вас? В аналогичном приложении у меня есть VHost для каждого имени и около 50 имен, о которых нужно заботиться, и у меня Puppet генерирует их. Затем я просто перечисляю:

mySite::newSite{ 'example.com': }

И он генерирует два VHosts (один для порта 80, один для порта 443) с example.com и www.example.com . Это означает, что файл будет заполнен этими mySite :: newSite строками, но это не так плохо :)

Вам не нужно использовать Puppet, любой язык может помочь с этим. Файлы Ruby erb - это вариант.

0
ответ дан 3 December 2019 в 11:56

Теги

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