2

背景:

我有一个运行 MVC 网站的 Azure 服务帐户。它具有用于安全访问的 SSL 证书:https ://www.caselines.co.uk

这很好用。

我们被要求通过另一个域提供对网站的访问,例如 www.anotherdomain.com

通过将第二个域名指向服务帐户(使用域的 www cname 属性),我们可以使用 www.anotherdomain.com 访问该网站

如果我们使用https://www.anotherdomain.com,我们会收到消息“此网站的安全证书存在问题”。如果我们继续,那么该站点运行良好,但地址栏正确识别出存在证书错误。

问题:

问题是:如果我将第二个 SSL 证书(对于 www.anotherdomain.com)加载到服务帐户中,并在服务配置和服务定义文件的证书部分添加第二个条目,这会解决证书错误问题吗?

4

2 回答 2

2

在 Windows Azure 云服务中,SSL 证书首先作为外部绑定到您在服务中启用的端口,在您的情况下为 443。并且只有一个 443 端口,因此只有一个证书可以绑定到它。现在,在您的情况下,您有另一个 SSL 证书并想绑定到相同的 443 端口,这是因为您已经通过绑定以前的证书使用了端口 443 并且它不起作用。

当 IIS 服务器支持其中的多个网站时,它会在内部的不同端口(http 和 https)上运行所有这些网站,并根据传入的标头将请求在内部发送到不同的站点/域,这样可以正常工作。

但是,如果您的 IIS 中只有一个站点配置为使用 HTTP 和 HTTPS(带有证书),则您只能根据绑定到该 HTTPS 端口的任何证书使用一个 SSL 证书进行身份验证。

如果您有两个证书(具有相同的 CA 根),那么您可以将它们链接到一个证书中。使用 HTTPS 端口,您肯定可以使用链式证书,因此您可以尝试看看这是否满足您的要求并且两者都适用。注意:我没有尝试过类似的事情,即有两个单独的域 SSL 证书指向相同的 HTTPS 端口,所以不确定结果可能是什么。

于 2013-03-14T16:16:27.847 回答
0

AvkashChauhan's answer is right regarding that you can have only one binding per port, but you can use hostheaders in order to have multiple websites listening to the same port.

And now, with IIS 8 (Windows Server 2012) supporting SNI, you can have "HTTPS hostheaders".

The only problem is that you will need to automate the certificate installation and the IIS binding configuration.

I'm a Microsoft Technical Evangelist and I have posted a detailed explanation and a sample "plug & play" source-code at: http://www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/

于 2013-04-04T12:11:51.990 回答