我如何正确configuration多个安全虚拟主机 – Apache 2.2.15和RedHat 6

首先,这个问题可能会与其他问题重叠,但我几乎觉得这是关于“如何正确configuration它”的红帽问题。

我有几个网站从同一个IP地址提供服务,没有问题。 但是,我想通过HTTPS给这些网站一些保护。 在RedHat中,ssl.conf文件是在https.conf文件中引用的,它们看起来可以很好地工作。

文档指出我要为每个我想要的安全网站创build一个.conf文件,并将该文件放在/etc/httpd/conf.d/目录中,该目录也包含ssl.conf文件。 假设所有的指令都设置正确,我是否需要引用位于该目录中的secureWesite.conf文件中的ssl.conf文件?

其次,有一个select给apache自己的密钥对,但是当涉及到每个有自己的密钥对的网站,这将如何工作? 我没有兴趣每年支付500美元的野外证书,所以有没有什么select呢? 我提到我目前只有一个IP地址。

感谢您的帮助。

RedHat 6支持将多个单独的证书用于同一个IP地址上的多个虚拟主机。 这个技术术语是“ 服务器名称指示 ”(SNI)您可能实际上只给每个站点自己的证书,通过每个虚拟主机configuration中的SSLCertificateFile指令定义。

或者,您可以使用具有多个主题备用名称的单个UCC证书。 这个证书将列出您作为备用名称托pipe的所有站点,并将用于每个站点。 我认为SNI是更“官方”的做法,更容易移动站点,吊销证书等。但使用UCC / SAN是完全可行的,甚至可能更便宜。

至于多个configuration文件,正如约翰所说,这是一个很好的做法,但不是必需的。 它使比较/修改站点比处理单个巨人configuration更容易。

您只需要在主http.conf文件中引用一次ssl.conf文件即可。 将one-config-file-per-vhost模型删除到conf.d中比需求更为“通用”。 您将运行的问题是,您只能拥有一个具有非通配符SSL证书的IP地址。 您可以使用自签名证书,但这些证书会在客户端有自己的问题处理。