码迷,mamicode.com
首页 > 其他好文 > 详细

SNI

时间:2018-06-20 21:10:38      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:normal   line   请求头   启用   不同的   参考   rgb   nginx   style   

SNI

我们知道,在 Nginx 中可以通过指定不同的 server_name 来配置多个站点。HTTP/1.1 协议请求头中的 Host 字段可以标识出当前请求属于哪个站点。但是对于 HTTPS 网站来说,要想发送 HTTP 数据,必须等待 SSL 握手完成,而在握手阶段服务端就必须提供网站证书。对于在同一个 IP 部署不同 HTTPS 站点,并且还使用了不同证书的情况下,服务端怎么知道该发送哪个证书?

Server Name Indication,简称为 SNI,是 TLS 的一个扩展,为解决这个问题应运而生。有了 SNI,服务端可以通过 Client Hello 中的 SNI 扩展拿到用户要访问网站的 Server Name,进而发送与之匹配的证书,顺利完成 SSL 握手。

参考文档:

关于启用 HTTPS 的一些经验分享(一)



新的nginx集群配置了多个ssl证书,所以客户端必须支持SNI才能正确访问https的域名。

各个客户端需要升级到支持SNI的版本才可以,目前已知的有:

1. 升级JDK至少到1.7。
2. 升级HttpClient至少到4.3.2。


SNI

标签:normal   line   请求头   启用   不同的   参考   rgb   nginx   style   

原文地址:http://blog.51cto.com/tenderrain/2131077

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!