为ssl / non-ssl站点分开apache VirtualHosts是必要的?

我有一个允许ssl和非ssl浏览的网站。

我在Apache中设置了两个虚拟主机来处理这两种情况,即:

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

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

现在,我的烦恼是这两个虚拟主机(相当大的)configuration是重复的(唯一的区别是在ssl-vhost中添加了SSL参数),所以当我想改变某些东西时,我需要在两者中都这样做。 它也感觉和看起来马虎。

有什么办法可以合并这两个configuration?

非常感谢。

是的,@Hex在他的评论中提到了这一点。

但是,您可以使用快捷方式并使用Include指令来避免常见的configuration冗余,如下所示:

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

从非常类似的问题“我必须复制端口80和443的虚拟主机指令吗?