3

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

我真的很感激任何帮助我指出正确的方向。

谢谢!

吉尔赫姆

4

2 回答 2

9

案件解决!

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

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

从:

<binding protocol="https" bindingInformation="*:443:www.whatever.com" sslFlags="3" />

至:

<binding protocol="https" bindingInformation="*:443:" sslFlags="3" />

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

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

这很棒!!!

于 2014-09-16T14:48:42.947 回答
-3

它发生在我身上。

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

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

- 用另一个名字保存这个文件作为备份,如果发生了什么事

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

- 在包含 sslFlags 的绑定之一中添加这一行(仅一次)

问题已修复

于 2020-03-06T13:09:08.113 回答