越来越多的浏览器不在支持http协议了,这就要求你为你的网站必须绑定SSL证书。谷歌浏览器也将要在今年取消对http协议的支持,申请CA证书迫在眉睫。我购买有两个域名,一个虚拟机,没事鼓捣鼓捣,图个乐趣。在阿里云申请了免费证书,一直用的好好的。这次过年恰遇证书更新,想一起把所有域名都升级到https。购买两个证书分别绑定域名。顺带说一下如何阿里云购买免费域名,现在已经不太容易找到免费域名购买按钮了。

【动图示意购买免费CA】

购买完成,并分别绑定www.a.com和www.b.com 后,访问a.com一直提示CA错误,发现CA证书来自www.b.com 一度怀疑自己绑定错误了域名,吊销证书又重新购买,问题依旧。在IE中没有有用的提示信息,在谷歌中会提示证书错误,且可以发现错误证书信息:

这个问题早在2012年就被发现并且提出的解决办法,参考英文请点击跳转。 阿里云的解决方案

Problem

As more e-commerce sites come on line and more businesses are storing and sharing sensitive documents online, the ability to host and scale secure sites are increasingly more important. Prior to Windows Server 2012, there were a couple of challenges when it comes to hosting secure sites:

随着更多电子商务网站上线,越来越多的企业在线存储和分享敏感信息,托管和确保安全网站的能力变得尤为重要,win server 2012之前,当托管SSL站点时有两个挑战:

SSL Scalability: In a multi-tenanted environment, such as a shared hosting, there is a limitation as to how many secure sites can be hosted on Windows Server, resulting in a low site-density.

SSL的可伸缩性:在多站点环境下,比如一个共享的服务器,托管的安全网站数量收到限制(只允许一个),导致安全网站密度很低。

IPv4 scarcity: Because the network end-point can only be identified with IP:Port binding, where tenants request to use the standard SSL port, 443, hosting a secure site often means offering a dedicated IP address per tenant.

IPv4地址不足,因为互联网上的一个终端仅能靠一对IP:Port来访问,当每个站点使用标准端口443时,意味着需要为每一个站点提供专用的IP地址。

Solution

On Windows Server 2012, IIS supports Server Name Indication (SNI), which is a TLS extension to include a virtual domain as a part of SSL negotiation. What this effectively means is that the virtual domain name, or a hostname, can now be used to identify the network end point. In addition, a highly scalable WebHosting store has been created to complement SNI. The result is that the secure site density is much higher on Windows Server 2012 and it is achieved with just one IP address.

It should be noted that in order for this feature to be used, your client browsers have to support SNI. Most modern browsers support SNI; however, Internet Explorer (of any version) on Windows XP does not support SNI.

解决方案是针对win server 2012的II7-IIS8,具体办法可以参考原文,本文仅针对IIS8.5来说明:

文中提到的SNI(Server Name Indication)中文名称是:需要服务器名称指示(如图), 这是一个一般人很难理解的中文翻译,记住,他就是SNI。

另外非常重要的是:

  1. 无论你访问任指向本服务器的域名,如果所有网站都没有勾选SNI,那么任何针对这个IP:Port的CA请求,都将返回第一个绑定的CA证书。
  2. 如果第一个站点没有勾选,效果同第一条相同。

所以最好的解决办法是:所有站点都选择勾选SNI。

在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书的更多相关文章

  1. [从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书

    点击下面连接查看从零开始搭网站全系列 从零开始搭网站 由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站. ...

  2. 腾讯云,体验域名注册解析与SSL证书

    体验域名注册解析与SSL证书 购买域名 任务时间:30min ~ 60min 在腾讯云上购买域名 首先需要在腾讯云上购买域名, 点击以下链接可以观看购买操作的指引 如何在腾讯云上购买域名 域名解析 域 ...

  3. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  4. 【转】七牛免费SSL证书,配置自定义域名CDN加速

    原文链接:https://excaliburhan.com/post/use-qiniu-ssl-and-cdn.html 申请七牛SSL证书 其实,七牛在很早之前就支持CDN使用https,但是他要 ...

  5. GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书

     GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书(GeoTrust True BusinessID With Multi-Domain(SAN/UC) ),支持多域名,属于企业 ...

  6. 服务器、IP地址和域名之间有什么关系?

    一.服务器 服务器其实就像我们的家用电脑一样,也有主板.CPU.内存.硬盘.电源等,但是由于它们处理问题的不同,服务器更像一台加强的家用电脑,服务器是为展网络业务而存放.处理数据的,所以服务器一般是存 ...

  7. Tomcat绑定多个IP地址 多域名绑定

    http://blog.csdn.net/stevenyanzhi/article/details/6029776 Tomcat绑定多个IP地址 如果一台服务机上有多个IP地址又有多个工程如何一个IP ...

  8. 服务器 nginx配置 防止其他域名绑定自己的服务器

    基于我的网站被其他的域名恶意绑定了,我做出了如下处理,全站转https,同时配置nginx跳转禁止其他绑定ip的域名访问(原理主机空域名可绑定任意的,参考https://www.jb51.net/ar ...

  9. Nginx反代,后端一个IP绑定多个SSL证书,导致连接失败之解决方法:HTTPS和SNI扩展

    默认:SSL协议进行握手协商进行连接的时候,默认是不会发送主机名的,也就是是以IP的形式来进行https连接握手协商的,这就导致一个问题,当一台服务器上有多个虚拟主机使用同一个IP的时候, Nginx ...

随机推荐

  1. JVM内存区域划分及垃圾回收

    第一部分.闲扯+概述 近来在研读<深入理解java虚拟机>一书,读完之后做个小结,算是记录一下自己的学习所得,在成长的路上,只能死磕. 要理解JVM,就要先从其内存区域划分开始,知道其由几 ...

  2. sql cast,convert,QUOTENAME,exec 函数学习记录

    语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, ...

  3. PHP多个进程同时写入同一个文件

    flock (PHP 3 >= 3.0.7, PHP 4, PHP 5) flock -- 轻便的咨询文件锁定 说明 bool flock ( int handle, int operation ...

  4. nfs 提高传输速度

    通常挂载 nfs 的命令为: mount -t nfs -o nolock 192.168.0.124:/home/admin/rootfs /mnt 之前我一直都是用这个命令来挂载,那个传输速度啊, ...

  5. 【转】java String.split()函数的用法分析

      在java.lang包中有String.split()方法的原型是: public String[] split(String regex, int limit) split函数是用于使用特定的切 ...

  6. easyui的datagrid为何无法显示json数据

    因为easyui的datagrid要求数据JSON必须是如下格式:{"total":0,"rows":[]}其中total表示总的数据行数,rows是当前页的数 ...

  7. SignalR 自寄宿

    源代码 https://github.com/xlb378917466/Chat.Server 1.使用控制台程序来寄宿SignalR的服务端,这需要借助于Owin中间件, 2.实现一个服务端的Cha ...

  8. httpclient请求服务的各种方法实例

    <!--话不多说,直接上代码--> import com.csis.ConfigManagerimport com.csis.io.web.DefaultConfigItemimport ...

  9. Python全栈学习_day003知识点

    今日大纲: . 基础数据类型 总览 . int . bool . str . for循环 1. 基础数据类型 总览 int: 用于计算,计数等 str:'这些内容',用户少量数据的存储,便于操作 bo ...

  10. 安装 kubernetes v1.11.1

    kubernetes 版本 v1.11.1 系统版本:Centos 7.4 3.10.0-693.el7.x86_64 master: 192.168.0.205 node1: 192.168.0.2 ...