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


11

在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绑定添加到Beta网站,它甚至都不会启动。

这是我设置的方式:

在此处输入图片说明

正确的设置方法是什么?

Answers:


8

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

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

另一方面,您具有通配符证书,并且我看过一篇文章,该文章可以在IIS7中完成:http ://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html 。我过去曾亲自尝试过,但对我来说效果不佳-IIS在访问静态文件时经常抛出5xx错误(当我们将另一台主机绑定到其他端口时,这种错误就停止了)。从那以后也许已经修复了。



2

尽管这是一个比较老的问题,但我最近才需要完成同样的事情。可以通过使用主题备用名称证书在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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.