【问题标题】:Multiple SSL certificates in one azure deployment一个 Azure 部署中的多个 SSL 证书
【发布时间】:2013-03-14 20:48:14
【问题描述】:

我有一个类似(但不一样)的问题:
Azure web role - Multiple ssl certs pointing to a single endpoint

我的 azure 包包含多个站点。其中一些站点位于域 abc 上,而其他站点位于域 def 上。我需要使用 SSL 保护两个域,但不知道如何(如果可能的话)这样做。

这是我的配置示例:

<Sites>
    <Site name="sub1.abc" physicalDirectory="***">
        <Bindings>
            <Binding name="HttpIn" endpointName="HttpIn" hostHeader="sub1-staging.abc.com" />
            <Binding name="HttpsInABC" endpointName="HttpsInABC" hostHeader="sub1.abc.com" />
        </Bindings>
    </Site>
    <Site name="sub1.def" physicalDirectory="***">
        <Bindings>
            <Binding name="HttpIn" endpointName="HttpIn" hostHeader="sub1-staging.def.com" />
            <Binding name="HttpsInDEF" endpointName="HttpsInDEF" hostHeader="sub1.def.com" />
        </Bindings>
    </Site>
</Sites>
<Endpoints>
    <InputEndpoint name="HttpIn" protocol="http" port="80" />
    <InputEndpoint name="HttpsInABC" protocol="https" port="443" certificate="abc" />
    <InputEndpoint name="HttpsInDEF" protocol="https" port="443" certificate="def" />
</Endpoints>
<Certificates>
    <Certificate name="abc" storeLocation="LocalMachine" storeName="My" />
    <Certificate name="def" storeLocation="LocalMachine" storeName="My" />
</Certificates>

此配置给我以下错误:

相同的本地端口“443”分配给端点 HttpsInABC 和 HttpsInDEF 角色为 ***。

有什么建议可以解决这个问题而不必单独托管?



基于@JoelDSouza 的回答:

使用不同的端口对你有用吗

SSL 对 Windows Azure 中端口 444/445/446 等的影响是什么?

【问题讨论】:

  • +1。好问题弗莱斯特
  • @ChrisF。我的问题是关于多个 不同 域名而不是子域的 SSL。
  • @flem - 发布了重复的答案,表明问题可能重复。我留下了评论以获取有关它是否重复的反馈。

标签: ssl azure iis-7 hosting ssl-certificate


【解决方案1】:

您可以使用多个 SSL 证书并将它们全部添加到同一端点,方法是自动在机器上安装证书并将 HTTPS 绑定添加到 IIS。

IIS 8 (Windows Server 2012) 支持 SNI,这使您能够将“主机头”添加到 HTTPS 绑定。

我是 Microsoft 技术布道者,我已在以下位置发布了详细说明和示例“即插即用”源代码: http://www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/

【讨论】:

【解决方案2】:

我担心您不走运 - 正如您链接到的文章中所述,每个服务器 IP 一个 SSL 证书。我想通过单独托管它们(考虑到它是基于云的,这感觉很奇怪)你将获得两个 IP,因此可以为每个 IP 地址添加一个 SSL 证书。

您也许可以将所有内容移动到一个域并使用该域中的文件夹来托管单独的站点 - 这是您无需两个托管包即可使用 SSL 证书保护所有内容的唯一方法: 即代替:

www.domain1.com 和 www.domain2.com 使用 www.mydomain.com/domain1/ 和 www.mydomain.com/domain2/

【讨论】:

  • 不幸的是,目录与域的建议不符合我的要求。这些域属于不同的客户端。我不是专家,但我很难相信我不能在一台服务器上托管两个具有不同域名的网站,两者都在 SSL 后面...
  • 我确实认为文件夹的想法是不可能的,但你确实问是否有任何方法可以绕过限制:) 你可以为你的包购买一个额外的 IP 吗?恐怕每个 SSL 证书都需要一个 IP 地址。
【解决方案3】:

使用不同的端口对你有用吗?您可以将 SSL 证书 1 与 myapp.cloudapp.net:443 一起使用,将 SSL 证书 2 与 myapp.cloudapp.net:8443 一起使用

【讨论】:

  • 我的理解是SSL需要443端口,这是不是真的?
  • 它可以在任何端口上运行,但默认为 443。如果使用非标准端口,则必须在浏览器和大多数其他应用程序的 URL 中指定它。例如。 myapp.cloudapp.net:8443myapp.cloudapp.net 将被大多数应用程序路由到端口 443。
【解决方案4】:

如果您不需要通配符证书,您可以使用多域证书。这样你只需要一个证书。缺点是每个子域都需要指定,如果你有很多可能会很昂贵。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 2011-11-25
    • 2017-01-19
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2019-05-26
    • 2012-04-11
    相关资源
    最近更新 更多