我们使用IIS8.5只配置了默认网站,但有数千个域在同一负载均衡IP上指向它。
我们计划为所有这些数千个域提供https(SSL)。所有.pfx证书都将存储在中央证书存储区(CCS)中,并且由于服务器名称指示(SNI)功能,将使用相同的IP绑定到同一网站。
SNI和CCS可以很好地用于此目的,但前提是我们在默认网站中为每个域添加显式出价,这对于数千个域都不实用:
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
<binding protocol="https" bindingInformation="*:443:www.domain1.com.br" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:www.domain2.com.br" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:www.domain3.com.br" sslFlags="3" />
...
...
...
<binding protocol="https" bindingInformation="*:443:www.otherdomain9998.com.br" sslFlags="3" />
<binding protocol="https" bindingInformation="*:443:www.otherdomain9999.com.br" sslFlags="3" />
...
</bindings>
</site>
我尝试配置默认的https协议绑定,与默认的http协议绑定相同,并使用sslFlags =&#34; 3&#34;,这意味着SNI + CCS:
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
<binding protocol="https" bindingInformation="*:443:" sslFlags="3" />
</bindings>
</site>
使用上述配置,不会向任何浏览器提供SSL证书。
是否可以使用SNI和CCS为https配置默认网站?
我非常感谢帮助我指出正确的方向。
谢谢!
吉尔赫尔梅
答案 0 :(得分:5)
案件已解决!
1)首先,我使用IIS在www.whatever.com的默认网站上使用SNI和CCS创建伪造的SSL绑定。
2)然后我在applicationHost.config文件中手动编辑了这个伪造的绑定条目,如下所示:
FROM:
<binding protocol="https" bindingInformation="*:443:www.whatever.com" sslFlags="3" />
TO:
<binding protocol="https" bindingInformation="*:443:" sslFlags="3" />
3)最后,我将证书发送到CCS文件夹。大约5分钟后,IIS会自动激活新的SSL站点。
换句话说,我有一个SSL的默认网站,在同一个IP中使用了许多证书而没有为每个证书创建绑定!
这很棒!!!
答案 1 :(得分:1)
它发生在我身上。
我通过以下步骤对其进行了修复:
-在以下路径中找到文件applicationHost.config :(本地磁盘):Windows / System32 / inetsrv / config(在我的情况下)
-使用其他名称将此文件另存为备份,以防万一
-使用文本编辑器打开文件并找到以下内容:
(当然您找不到)
-在包含sslFlags的绑定之一中添加此行(仅一次)
问题已解决