我们在ourapp.cloudapp.net上有一个在 Windows Azure 云服务上运行的 Web 应用程序。我们从my.ourapp.com创建了一条 CName 记录以指向此云服务。此域受 SSL 保护。
我们现在需要允许不同的域 ( my.secondapp.com ) 访问在my.ourapp.com上看到的内容。
我们可以创建一个新的云部署,但我们不希望托管和维护单独部署的额外成本。我们还考虑在 443 以外的端口上添加另一个 https 端点,但据我所知,这意味着我们的用户必须使用“:444”后缀浏览我们的网站。
在互联网上进行了一些挖掘之后 - 我们看到了这篇文章: http: //www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/。它指出,使用 IIS8 和 SNI,我们可以为一项云服务拥有多个证书。
但是,我们无法让它工作 - 导航到my.secondapp.com会给出一个证书警告,说提供的证书实际上是针对my.ourapp.com的。
这里还有一些提示:
my.ourapp.com和my.secondapp.com的证书似乎都已正确安装(一个通过通常的 Azure 方法,一个通过上面文章中的 SNI 代码)。当我远程进入我们的网络角色并转到 ISS 时 - 它们都出现在“服务器证书”部分中。
不确定这是否会有所不同,但我之前在一些文章中读过:MMC 的“虚拟主机”部分没有证书。我手动添加了证书管理单元并导入了my.secondapp.com证书,但无济于事。
在 IIS 中,我们的服务器下有通常的 Azure Web 角色站点 - 类似于“RD0001683008”。当我查看站点绑定选项时,我看到:
类型 | 主机名 | 港口 | 知识产权
http | (空白) | 80 | 10.26.130.10
https | (空白) | 第443章 10.26.130.10
https | my.secondapp.com | 第443章 10.26.130.10
我尝试将my.ourapp.com输入到前两行的主机名部分,希望它只会获取该主机名而不是my.secondapp.com,但没有运气。我尝试将 IP 地址的组合更改为“所有未分配”,但同样没有运气。我需要重新启动站点或应用程序池吗?
我删除了my.secondapp.com的绑定,并在 IIS 中添加了一个与my.ourapp.com具有相同详细信息的新站点(相同的应用程序池和 Web 空间)。这确实给了我一个 503 Service Unavailable 这是不同的东西,但我不确定我是否应该继续探索这个选项。
另一件需要注意的是 SSL 证书本身。它是由第三方生成的,与我们拥有的my.ourapp.com证书有些不同。通常,我们会得到一个 .crt 文件并将其导出为 .pfx。当我尝试导出新证书时,.pfx 选项显示为灰色,我只能选择 .cer。我做了一些魔术并设法将其导入并以某种方式导出到 pfx,并在此过程中提供了密码。也许第三方应该在此过程的早期使用密码创建证书?此外,第三方提供了三个证书(AddTrustExternalCARoot.crt、my_secondapp_com.crt、PositiveSSLCA2.crt)。我只使用了 my_secondapp_com.crt - 我应该使用其他的还是链接它们?
打开证书本身表明“此证书用于以下目的:”并具有通常的“确保远程计算机的身份”、“向远程计算机证明您的身份”。但还有另外两行“1.3.6.1.4.1.6449.1.2.2.7”和“2.23.140.1.2.1”不在我们拥有的任何其他证书上。
最后,在 azure 门户的“证书”部分中查看证书时。新证书的主题有“CN=my.secondapp.com, OU=PositiveSSL, OU=Hosted by Hosting Ireland, OU=Domain Control Validated”,而我们的普通证书有更多选项:“CN=my.ourapp.com , OU=Domain Control Validated - RapidSSL(R), OU=See www.rapidssl.com/resources/cps (c)11, OU=GT1234567, O=my.ourapp.com, C=IE, SERIALNUMBER=sOmESerIalNumBEr”。这可能与它有关吗?
很抱歉这个长问题 - 我认为提供尽可能多的细节可能会有所帮助。
我真的很感激任何帮助。