【热门云产品免费试用活动】| 【最新活动】| 【企业应用优惠】
SNI(Server Name Indication)是为了解决一个服务器使用 多个域名 和证书的TLS扩展,主要解决一台服务器只能使用一个证书的缺点。开启SNI后,允许客户端在发起SSL握手请求时就提交请求的域名信息, 负载均衡 收到SSL请求后,会根据域名去查找证书,如果找到域名对应的证书,则返回该证书;如果没有找到域名对应的证书,则返回缺省证书。负载均衡在配置HTTPS监听器支持此功能,即支持绑定多个证书。
SNI(Server Name Indication)是TLS的扩展,用来解决一个服务器拥有多个域名的情况。
在客户端和服务端建立HTTPS的过程中要先进行TLS握手,握手后会将HTTP报文使用协商好的密钥加密传输。
在TLS握手信息中并没有携带客户端要访问的目标地址。这样会导致一个问题,如果一台服务器有多个 虚拟主机 ,且每个主机的域名不一样,使用了不一样的证书,该和哪台虚拟主机进行通信?
和HTTP协议用来解决服务器多域名的方案类似,HTTP在请求头中使用Host字段来指定要访问的域名。TLS的做法,也是加Host,在TLS握手第一阶段ClientHello的报文中添加。
SNI在TLSv1.2开始得到支持。从OpenSSL 0.9.8版本开始支持。所以基本市场上的终端设备都支持。
更多相关文章: