如何在同一Azure webrole上配置2个HTTPS端点?

如何在同一Azure webrole上配置2个HTTPS端点?,azure,https,azure-web-roles,Azure,Https,Azure Web Roles,我在Azure上有一个应用程序,我想配置几个域,启用HTTPS访问,所有域都指向同一Azure实例/webrole 我听说您不能将两个证书绑定到同一IP/端口,但我确信有办法做到这一点。我对HTTPS工作原理的理解是,对于同一IP地址,您不能有两个不同的证书。(IIS如何知道在新连接进入时使用哪个证书?) 尝试首先在IIS本地设置它。如果你能设法使它在那里工作,你大概可以在Windows Azure中工作(但请告诉我如何工作!)。我对HTTPS工作原理的理解是,对于同一IP地址,你不能有两个不同

我在Azure上有一个应用程序,我想配置几个域,启用HTTPS访问,所有域都指向同一Azure实例/webrole


我听说您不能将两个证书绑定到同一IP/端口,但我确信有办法做到这一点。

我对HTTPS工作原理的理解是,对于同一IP地址,您不能有两个不同的证书。(IIS如何知道在新连接进入时使用哪个证书?)


尝试首先在IIS本地设置它。如果你能设法使它在那里工作,你大概可以在Windows Azure中工作(但请告诉我如何工作!)。

我对HTTPS工作原理的理解是,对于同一IP地址,你不能有两个不同的证书。(IIS如何知道在新连接进入时使用哪个证书?)


尝试首先在IIS本地设置它。如果您能设法使它在那里工作,您大概可以在Windows Azure中完成(但请务必告诉我怎么做!)。

您希望多个域指向同一个web应用程序(Azure web角色),还是希望每个域都有自己的web应用程序。如果你的目标是后者,这只是一个与IIS相关的问题,我不知道答案,也与Azure无关。如果您的目标是前者,即每个域都有自己的Web应用程序,则必须通过服务定义文件中的“站点”元素进行配置。我需要前者:多个域都支持HTTPS,运行相同的Web应用程序。我会调查的。谢谢。这是今天IIS实际上不支持的东西(我也很沮丧!)。我试图将IIS 7.5配置为两个不同的网站,以使用不同的证书绑定到同一IP地址上的HTTPS,这似乎不可行。确实奇怪..刚刚确认,您必须在具有多个主机头的单端点上使用SAN(使用者替代名称)SSL证书。或者,您必须为您想要的每个附加HTTPS站点使用不同的端口。这不是Azure限制,而是IIS/HTTPS性质的限制。如果我理解得很好,SAN证书是多个域的证书,对吗?您希望多个域指向同一个web应用程序(Azure web角色),还是希望每个域都有自己的web应用程序。如果你的目标是后者,这只是一个与IIS相关的问题,我不知道答案,也与Azure无关。如果您的目标是前者,即每个域都有自己的Web应用程序,则必须通过服务定义文件中的“站点”元素进行配置。我需要前者:多个域都支持HTTPS,运行相同的Web应用程序。我会调查的。谢谢。这是今天IIS实际上不支持的东西(我也很沮丧!)。我试图将IIS 7.5配置为两个不同的网站,以使用不同的证书绑定到同一IP地址上的HTTPS,这似乎不可行。确实奇怪..刚刚确认,您必须在具有多个主机头的单端点上使用SAN(使用者替代名称)SSL证书。或者,您必须为您想要的每个附加HTTPS站点使用不同的端口。这不是Azure限制,而是IIS/HTTPS性质的限制。如果我理解得很好,SAN证书是用于多个域的证书,对吗?“IIS如何知道在新连接进入时使用哪个证书?”:与它用于web应用程序的方式相同,取决于请求的域?我想它也可以用同样的方法。无论如何,谢谢你的回答。不,IIS今天不能这么做。(至少,这是我的理解。)在建立安全连接之前,主机名是未知的。如果IIS可以做到这一点,那么Windows Azure也可以做到。SNI呢?在Azure上有可能吗?我不知道。同样,如果IIS可以做到这一点,Windows Azure也可以做到。IIS可以做到SNI,但它需要一个命令行来设置每个站点的主机名。它还需要一个不理想的UC证书,因为证书中的每个域名都包含在同一个证书中。设置SSL主机头的命令行(从c:\windows\systtem32\inetsrv运行)是:
appcmd set site/site.name:“某些站点名称”/+绑定。[协议='https',绑定信息='*:443:www.SomeDomainName.com']
“IIS如何知道在新连接进入时使用哪个证书?”:它对web应用程序使用的方法与此相同,具体取决于请求的域?我想它也可以用同样的方法。无论如何,谢谢你的回答。不,IIS今天不能这么做。(至少,这是我的理解。)在建立安全连接之前,主机名是未知的。如果IIS可以做到这一点,那么Windows Azure也可以做到。SNI呢?在Azure上有可能吗?我不知道。同样,如果IIS可以做到这一点,Windows Azure也可以做到。IIS可以做到SNI,但它需要一个命令行来设置每个站点的主机名。它还需要一个不理想的UC证书,因为证书中的每个域名都包含在同一个证书中。设置SSL主机头的命令行(从c:\windows\systtem32\inetsrv运行)是:
appcmd set site/site.name:“某些站点名称”/+绑定。[协议='https',绑定信息='*:443:www.SomeDomainName.com']