No default SSL site has been created. To support browsers without SNI capabilities, it is recommended to create a default SSL site.
尚未创建默认 SSL 站点。若要支持不带 SNI 功能的浏览器,建议创建一个默认 SSL 站点。
IIS (Internet Information Service)出现这个提示是因为服务器没有设置默认 SSL 站点,将会导致不支持 SNI 的客户端无法访问网站。
SNI 这个东西现在的操作系统和浏览器都支持,只有很古老的操作系统或浏览器才不支持 SNI,SNI 英文全称是 Server Name Indication,中文全称叫服务器名称指示,有了 SNI 这个玩意,一台服务器就可以用一个相同的 IP 和相同的端口搭建多个不同域名(Server Name)的 HTTPS 协议网站,每个网站可以配置各自的 SSL 证书。
支持 SNI 的浏览器,会自动根据 Server Name 去匹配域名和证书,对于不支持 SNI 的浏览器,需要配置一个“默认” SSL 站点,访问时会自动访问这个默认 SSL 站点。无论浏览器是否支持 SNI,如果没有找到匹配的 Server Name 而且没有默认 SSL 站点,连接请求会被服务器重置(reset)。- OpenSSL SSL_connect: Connection was reset in ...
复制代码 那么怎么设置 IIS default SSL site 呢?
在 IIS 管理器左侧找到想要作为默认站点的 SSL 网站,点击鼠标右键,选择 “编辑绑定”,双击需要作为默认绑定的绑定,取消勾选“需要服务器名称指示(N)”,点击“确定”。
If you are using an English version of IIS,select a site -- Edit bindings -- uncheck the "Require Server Name Indicaion" checkbox -- OK
SSL 默认站点只需要设置一个就可以了,如果一个网站绑定了多个域名,只需要设置一个域名绑定就行了。
不支持 SNI 的客户端举例:Windows XP 上所有版本的 IE(Internet Explorer)。
参考资料 References
https://en.wikipedia.org/wiki/Server_Name_Indication
https://www.cloudflare.com/learning/ssl/what-is-sni/ |
|