SNI多域ssl apache iis

时间:2015-03-09 12:53:01

标签: apache iis ssl

我们需要托管具有不同域的多个站点。 例如

a.test.dk
b.test.dk
a.test.fi
b.test.fi

现在从我所知道的是,无论是在apache还是iis,你在使用域名ssl证书时都需要1个ip / host,这意味着我们必须购买

上有4个证书和4个IP地址来托管它们

另一种选择是使用通配符证书,如果我们购买* .test.dk和* .test.fi我们可以使用2个ip /地址和2个证书来托管相同数量的站点,因为我们的iis / apache可以使用sni。

但现在我的真正问题是: 还有一种叫做多域ssl的东西

是否可以在1个ip-address下运行所有​​4个站点?

因为我们现在正在使用外部ip-addressess。

1 个答案:

答案 0 :(得分:0)

嗯,你混淆了两件不同的事情。您将通配符证书和SNI(服务器名称指示)混淆。它们绝对是解决类似问题的不同方法。

通配符证书不依赖于标头检查来加密您的流量,您只需将DNS指向所需的IP地址,并将您的请求发送到您在IIS中配置的任何网站。

SNI与众不同,是您想要的。 SNI检查每个HTTP请求,并根据主机标头确定您想要的IIS站点。在SNI存在之前,您无法检查SSL请求中的标头,因为标头也是加密的。

使用SNI,假设您拥有每个站点的证书(通配符证书或单站点证书,UCC证书或其中某些组合),您可以使用SNI检查每个HTTP请求并提供相应的SSL证书和站点。您可以为您喜欢的任意数量的网站执行此操作,并在所有网站上共享1个IP:端口组合。

这是一篇WikiPedia文章,它更详细地解释了它:

http://en.wikipedia.org/wiki/Server_Name_Indication#Background_of_the_problem

以下是有关如何在IIS 8及更高版本中配置的文章:

https://www.digicert.com/ssl-certificate-installation-microsoft-iis-8.htm#multiple

在这些说明的步骤18中,您启用了SNI。

以下是有关如何在Apache 2.2.12及更高版本中配置的文章:

https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm