Назад | Перейти на главную страницу

Необходим отдельный apache VirtualHosts для сайтов ssl / non-ssl?

У меня есть сайт, который позволяет просматривать как ssl, так и без ssl.

У меня есть два виртуальных хоста, настроенных в Apache для обработки двух сценариев, то есть:

<VirtualHost *:80>
...
</VirtualHost>

и

<IfModule mod_ssl.c>
<VirtualHost *:443>
...
</VirtualHost>
</IfModule>

Теперь меня раздражает то, что (довольно большая) конфигурация дублируется в обоих vhosts (единственная разница - добавленные параметры SSL в ssl-vhost), поэтому, когда я хочу что-то изменить, мне нужно сделать это в обоих. Он также выглядит и выглядит неряшливо.

Есть ли способ объединить две конфигурации?

Большое спасибо.

Да, это необходимо, как упомянул @Hex в своем комментарии.

Однако вы можете воспользоваться ярлыком и использовать Include директиву, чтобы общая конфигурация не была избыточной, например:

<VirtualHost _default_:80>
    ...
    include conf/common_rule.conf
</VirtualHost> 

<VirtualHost _default_:443>
    ... #SSL rules
    include conf/common_rule.conf
</VirtualHost>

Украдено из похожего вопроса «Должен ли я дублировать директивы Virtualhost для портов 80 и 443?».