帮我设置ssl.conf多个域名(在ssl.conf中的基于名称的虚拟主机?)

在我的httpd.conf中:

如果我将我的虚拟主机configuration为:

NameVirtualHost *:80 <VirtualHost *:80> ServerName foo.com ServerAlias www.foo.com Include conf.d/foo.conf </VirtualHost> <VirtualHost *:80> ServerName bar.com ServerAlias www.bar.com Include conf.d/bar.conf </VirtualHost> 

我可以通过单个域名SSL证书吗?还是必须购买通配符SSL证书来处理www子域名?

我现在正在尝试configurationssl.conf文件,我可以在我的ssl.conf文件中使用基于名称的虚拟主机:

NameVirtualHost *:443 <VirtualHost *:443> ServerName foo.com ServerAlias www.foo.com ... Include conf.d/foo.conf </VirtualHost> <VirtualHost *:443> ServerName bar.com ServerAlias www.bar.com ... Include conf.d/bar.conf </VirtualHost>
NameVirtualHost *:443 <VirtualHost *:443> ServerName foo.com ServerAlias www.foo.com ... Include conf.d/foo.conf </VirtualHost> <VirtualHost *:443> ServerName bar.com ServerAlias www.bar.com ... Include conf.d/bar.conf </VirtualHost> 

还是我需要基于IP的虚拟主机? 如果这是可能的,我需要什么样的证书才能做到这一点?

基于名称的虚拟主机使用SSL是可能的,但需要SNI: http : //en.wikipedia.org/wiki/Server_Name_Indication

根据您期望击中您的网站的浏览器,您可以使用SNI )。 否则,您需要使用基于IP的虚拟主机。 自签名的证书可以工作,但通常是一个基本的SSL证书(约100美元或更less)就足够了。

如果两个站点在同一个IP地址上,则最好的select是使用包含所有四个名称(foo.com,www.foo.com,bar.com,www.bar.com)的UC证书 。 那么你不必担心还没有得到完全支持的SNI,或者得到多个IP地址或者出现名称不匹配的错误。