【问题标题】:SNI multiple domain ssl apache iisSNI 多域 ssl apache iis
【发布时间】:2015-05-10 15:17:31
【问题描述】:

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

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 地址下运行所有​​ 4 个站点?

因为我们目前正在努力使用外部 ip-addressess。

【问题讨论】:

    标签: apache iis ssl


    【解决方案1】:

    嗯,你混淆了 2 个不同的东西。您混淆了通配符证书和 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

    【讨论】:

    • 嗨,谢谢,看来我确实误判了我们在 iis 上使用 sni 的可能性,我们仍在使用 7.5 。另一方面,我们的 apache 似乎能够处理 sni 调用。
    猜你喜欢
    • 2017-01-17
    • 2011-04-19
    • 2017-06-03
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2016-01-18
    相关资源
    最近更新 更多