Azure Web角色 - 指向单个端点的多个ssl证书

Bro*_*sto 12 ssl azure ssl-certificate

有没有办法让多个ssl证书指向服务定义中的单个inputendpoint?例如,假设我有两个网址.

service.foo.net/Service.svc

service.doo.net/Service.svc

我希望这两个地址都解析为我的Windows Azure服务,但我不知道如何在服务定义中配置它.

<Certificates>
   <Certificate name="service.foo.net" storeLocation="LocalMachine" storeName="My" />
   <Certificate name="service.doo.net" storeLocation="LocalMachine" storeName="My" />
  </Certificates>
  <Endpoints>
   <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="service.foo.net" />
  </Endpoints>
Run Code Online (Sandbox Code Playgroud)

根据这篇MSDN文章,每个输入端点必须具有唯一的端口.有没有办法为此端点指定多个证书?

Igo*_*kin 8

不幸的是,这是不可能的.Azure正在重新暴露SSL限制.SSL限制很有趣,也是您无法通过SSL使用v-hosts的原因.让我们来看一个例子:

  1. 您连接到https://ig2600.blogspot.com
  2. 这解决了一些IP地址 - 比如说8.8.8.8
  3. 您的浏览器现在连接到8.8.8.8
  4. 8.8.8.8必须在浏览器发送任何数据之前预设证书
  5. 浏览器验证所提供的证书是否适用于ig2600.blogspot.com
  6. 您发送包含您的域名的http请求.

由于服务器需要您告诉它要与之通信的主机名之前提供证书,因此如果存在多个证书,服务器将无法知道要使用哪个证书,因此您只能拥有一个证书.


Vit*_*lla 5

"Oliver Bock"的答案可能对您有用,而且"Igor Dvorkin"的答案已经无效,因为带有Windows Server 2012的IIS 8支持SNI,这使您可以向HTTPS绑定添加"hostheader"并拥有多个SSL证书到不同的域,听同一个HTTPS端口.

您需要自动执行在计算机上安装证书的过程,并将HTTPS绑定添加到IIS.

我是微软技术推广人员,我在http://www.vic.ms/microsoft/windows-azure/multiples-ssl-certificates-on上发布了详细解释和示例"即插即用"源代码 . -Windows-Azure的云服务/