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

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

在我的httpd.conf中:

如果我的虚拟主机配置如下:


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 子域?

我现在正在尝试配置 ssl.conf 文件,我可以在 ssl.conf 文件中像这样使用基于名称的 vhost 吗:


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 的虚拟主机吗?如果可能的话,我需要什么样的证书才能做到这一点?

答案1

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

答案2

根据你期望访问网站的浏览器,你可以使用信噪比)。否则,您需要使用基于 IP 的虚拟主机。自签名证书可以工作,但通常基本的 SSL 证书(约 100 美元或更少)就足够了。

答案3

如果两个网站都在同一个 IP 地址上,那么最好的选择是使用加州大学证书包括所有四个名称(foo.com、www.foo.com、bar.com、www.bar.com)。这样您就不必担心尚未完全支持的 SNI 或获取多个 IP 地址或获取名称不匹配错误。

相关内容