首页 > 其他 > 详细

SNI

时间:2018-06-20 20:59:55      阅读:241      评论:0      收藏:0      [点我收藏+]
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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!