如何使用SNI和CCS为https配置默认网站

时间:2014-08-20 18:34:30

标签: ssl https binding iis-8.5 sni

我们使用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配置默认网站?

我非常感谢帮助我指出正确的方向。

谢谢!

吉尔赫尔梅

2 个答案:

答案 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的绑定之一中添加此行(仅一次)

问题已解决