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

Ssl 如何使用SNI和CCS为https配置默认网站,ssl,https,binding,iis-8.5,sni,Ssl,Https,Binding,Iis 8.5,Sni,我们使用IIS8.5,只配置了默认网站,但在同一负载平衡IP上有数千个指向它的域 我们计划为所有这数千个域提供https(SSL)。由于服务器名称指示(SNI)功能,所有.pfx证书将存储在中央证书存储(CCS)中,并使用相同的IP绑定到同一网站 SNI和CCS在这方面工作得很好,但前提是我们在默认网站中为每个域添加明确的竞价,这对成千上万个域来说是不可行的: <site name="Default Web Site" id="1"> <

我们使用IIS8.5,只配置了默认网站,但在同一负载平衡IP上有数千个指向它的域

我们计划为所有这数千个域提供https(SSL)。由于服务器名称指示(SNI)功能,所有.pfx证书将存储在中央证书存储(CCS)中,并使用相同的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=“3”,这意味着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配置默认网站

如果有人能帮我指出正确的方向,我将不胜感激

谢谢大家!

Guilherme

案件已解决

1) 首先,我使用IIS在www.whater.com的默认网站中使用SNI和CCS创建了一个伪造的SSL绑定

2) 然后,我在applicationHost.config文件中手动编辑了这个伪造的绑定条目,如下所示:

发件人:

致:

3) 最后,我将证书发送到CCS文件夹。大约5分钟后,新的SSL站点被IIS自动激活

换句话说,我得到了一个默认的SSL网站,在同一IP中使用了许多证书,并且没有为每个证书创建绑定

这太棒了

这是我的事

我通过以下步骤修复了它:

-在路由:(本地磁盘)中找到文件applicationHost.config:Windows/System32/inetsrv/config(在我的示例中)

-如果发生意外,请使用其他名称保存此文件作为备份

-使用文本编辑器打开文件并找到以下内容:
(你肯定找不到了)

-在包含sslFlags的其中一个绑定中添加此行(仅一次)


问题已经解决了“…多亏了服务器名称指示(SNI)功能”-哦,这将是一件痛苦的事情。Windows XP的SChannel不支持SNI;许多底层客户端(数百万安卓设备和朋友)也是如此。能够支持SNI的客户通常不会宣传SNI,因为程序员在2014年仍然使用SSLv3(SNI是TLS的一项功能)。我们看到SNI在巴西客户群中的接受度增加到了近98%。Windows XP正迅速变得微不足道。因此,我们认为是时候试一试了,因为IPv4的稀缺性以及谷歌最近决定使用HTTPS作为排名信号:问题是,我们在同一IP和同一IIS网站上拥有一个被25000多个域使用的服务!目前,每个域的所有者只需将其DNS配置为指向我们的IP,如果使用http,一切正常。对于https,将有两个额外的步骤:1)将域的pfx发送到CCS 2)将域的绑定添加到默认网站。我们希望有一个使用SNI和CCS的默认https网站,因此我们不必在applicationHost.config文件中维护所有这些绑定。这将是一个痛苦,即使使用PowerShell!我只是不明白为什么微软没有为https和CCS+SNI实现默认的web服务器功能。通过这种方式,我们可以简单地将25.000+域pfx文件放在CSS存储库中,默认网站将响应http和https,而无需任何显式绑定。也许是他们干的?任何帮助都将不胜感激!