Ssl 如何使用SNI和CCS为https配置默认网站
我们使用IIS8.5,只配置了默认网站,但在同一负载平衡IP上有数千个指向它的域 我们计划为所有这数千个域提供https(SSL)。由于服务器名称指示(SNI)功能,所有.pfx证书将存储在中央证书存储(CCS)中,并使用相同的IP绑定到同一网站 SNI和CCS在这方面工作得很好,但前提是我们在默认网站中为每个域添加明确的竞价,这对成千上万个域来说是不可行的: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"> <
<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,而无需任何显式绑定。也许是他们干的?任何帮助都将不胜感激!