什么是服务器名称指示(SNI)
来源:互联网 发布:易云网络 西安 编辑:程序博客网 时间:2024/05/16 18:52
在HTTPS 大热的今日,SSL证书已成为了HTTPS加密协议最常见的解决方案。虽然在安全方面,HTTPS完胜HTTP。但在性能方面,HTTPS中的SSL证书仍存在一些问题。如基于名称的主机不能很好地处理SSL。
在过去的HTTP时代,解决基于名称的主机在同一IP地址上托管多个网站的问题并不难。当一个客户端请求某特定网站时,把请求的域名作为主机头(Host)放在HTTP Header中,服务器端知道应该把请求引向哪个域名,并把匹配的网站传送给客户端。
但使用HTTPS时就无法故技重施了。因为在SSL握手的过程中,不会有Host的信息,所以服务器端通常返回的是配置中的第一个可用证书。因而一些较老的环境,可能会产生多域名分别配好了证书,但返回的始终是同一个。
为了解决这个问题,SNI(服务器名称指示)从而诞生。
什么是SNI
SNI(Server Name Indication),中文名为服务器名称指示,是对SSL / TLS协议的扩展,允许在单个IP地址上承载多个SSL证书。 SNI这样做的方法是将HTTP头插入到SSL握手中,提交请求的 Host 信息,使得服务器能够切换到正确的域并返回相应的证书。
在SNI出现之前,加密每个网站都必须对每个IP地址都部署SSL证书。但这是一笔昂贵的预算,并且IPv4的 IP也存在不少问题。
IP地址的数量是有限的,IPv4参与使用Internet协议进行通信的计算机网络的每个设备分配地址。IPv4的IP地址如下:
全球上一共只有大约40亿万个IPv4 IP地址,总有一天所有地址终会被消耗殆尽。而在SNI出现之前,其消耗的速度比目前要快很多。可见,SNI的存在是为IPv4续命。
SNI的未来?
SNI最大的担忧是其可扩展性。一开始,有人认为网络浏览器和服务器不会很快采用这种技术。事实证明,这种担忧在很大程度上是无根据的,根据Akamai的说法,如今几乎98%的客户要求支持HTTPS的网站支持SNI。
作为国内信息安全服务商数安时代(GDCA)认为SNI将会有助于SSL证书的功能完善,并推动HTTPS协议的发展,为广大站长提供更好的方式管理SSL证书。
文章素材来源于thesslstore
文章转载https://www.trustauth.cn/wiki/23351.html
- 什么是服务器名称指示(SNI)
- Android程序与SNI服务器通信导致SSLPeerUnverifiedException发生
- TLS SNI
- codes sni
- OpenSSL-SNI
- 服务器相关名称释义(nginx)
- 实验名称:建立名称服务器
- 什么是服务器?
- linux 修改 服务器名称
- SQLsever2005的服务器名称
- 如何更改服务器名称
- asterisk 更改服务器名称
- linux 修改 服务器名称
- 更改数据库服务器名称
- 删除SqlServer服务器名称
- Sqlserver 修改服务器名称
- sql2005没有服务器名称
- 建立名称服务器
- Android 自定义相机摄像头
- (指针)输入10个整数, 把最小的与第一个数交换, 最大的与最后一个数交换
- python中面向对象编程的特殊方法
- 分位数(quantile)
- No 'Access-Control-Allow-Origin' header is present on the requested resource
- 什么是服务器名称指示(SNI)
- windows7+vs+CUDA7.5 编译caffe+配置matcaffe+配置pycaffe
- PG 创建库指定字符集
- 八荣八耻 《IT版》《Java版》
- 正则表达式
- 一步一步开始FPGA逻辑设计
- python中socket初识
- 代码实现问题 CodeForces 822B
- 远程jvm监控