我遇到类似(但不一样)的问题:
Azure web role - Multiple ssl certs pointing to a single endpoint
我的天蓝色套餐包含多个网站。其中一些网站位于域 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等有何影响?
答案 0 :(得分:3)
您可以使用多个SSL证书,并通过自动执行在计算机上安装证书的过程并将HTTPS绑定添加到IIS来将它们全部添加到同一个端点。
IIS 8(Windows Server 2012)支持SNI,它允许您向HTTPS绑定添加“hostheader”。
我是微软技术推广人员,我在以下网址发布了详细解释和示例“即插即用”源代码: http://www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/
答案 1 :(得分:2)
我担心你运气不好 - 正如你链接的文章所述,每个服务器IP一个SSL证书。我想通过单独托管它们(考虑到基于云的方式感觉很奇怪),您将获得两个IP,因此可以为每个IP地址添加SSL证书。
您可以将所有内容移动到一个域并使用该域中的文件夹来托管单独的站点 - 这是您能够使用SSL证书保护所有内容而无需拥有两个托管包的唯一方法: 即代替:
www.domain1.com和www.domain2.com使用www.mydomain.com/domain1/和www.mydomain.com/domain2 /
答案 2 :(得分:0)
使用不同的端口会为您工作吗?您可以将SSL证书1与myapp.cloudapp.net:443一起使用,SSL证书2与myapp.cloudapp.net:8443一起使用
答案 3 :(得分:0)
如果您不需要通配符证书,则可以使用多域证书。这样您只需要一个证书。缺点是需要指定每个子域,如果你有很多,这可能会变得昂贵。