题 使用多个网站绑定和SSL设置IIS 7.5?


在IIS 7.5上,我试图通过两个网站实现这一目标:

Default Web Site is bound to:

(blank host header port 80 - http)
(blank host header port 443 - https)
go.example.com
www71.example.com
the IP address of go.example.com

2nd web site "Beta" is bound to:

beta.example.com
(blank host header port 443 - https)
* using blank only because it doesn't seem to be possible to 
  bind https to a named host header

两者都需要使用SSL。但我有这些问题:

  1. 当我输入beta.example.com时,我会看到go.example.com网站
  2. 我似乎无法立即将SSL绑定添加到两个网站(我有一个* .example.com通配符证书)。如果我添加https绑定,测试版网站甚至都不会启动。

这就是我设置它的方式:

enter image description here

设置它的正确方法是什么?


10
2018-06-27 23:50






答案:


没有 SNI扩展,每个IP:端口对只能绑定一个SSL证书。如果您需要在同一IP上运行2个HTTPS - 将它们绑定到不同的端口,然后引用这样的站点提供URL中的端口(例如 https://beta.example.com:444/)。您可以在不同端口上使用相同的通配符证书,而不会出现任何问题。

如果您有多个具有空白主机名的站点(对于HTTP协议),则ID较低的站点应为“全部捕获”。 HTTPS也是如此 - ID较低的应该拦截该端口上的所有请求。

另一方面,你有一个通配符证书,我看过一篇文章告诉我这可以在IIS7中完成: http://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html 。我过去自己尝试过,但它对我来说效果不好 - 在访问静态文件时(当我们将另一个主机绑定到另一个端口时停止发生),IIS常常会抛出5xx错误。也许从那时起它就被修复了。


8
2018-06-28 00:28





服务器名称指示 IIS 7或7.5尚不支持。希望他们将在下一个IIS中实现此功能: http://forums.iis.net/p/1161905/1923273.aspx


3
2017-10-23 14:34





虽然这是一个较老的问题,但我最近需要完成同样的事情。可以使用Subject Alternate Name证书在IIS 7.x下完成。这些证书优于通配符,因为它将自己限制为仅列出特定列出的站点,从而减少基于在通配符下捕获的域内伪造虚假站点名称的攻击。

将SAN证书导入IIS后,您可以使用appcmd工具指定其他绑定或手动编辑该部分中的applicationHost.config,例如

<site name="SomeSite" id=9>
   <bindings>
     <binding protocol="http" bindingInformation="*:80:SomeSite"/>
     <binding protocol="https" bindingInformatoin="*:443:SomeSite" />
   </bindings>
</site>

3
2017-11-17 21:24