SNI信息解决HTTPS一个IP对应多个SSL证书

网站SSL证书SNI信息解决HTTPS一个IP对应多个SSL证书已关闭评论2,9563

什么是SNI信息?SNI信息有什么作用?SNI信息可以解决HTTPS协议中,单个IP对应多个SSL证书(多个域名共享一个IP)的解决方法:

什么是SNI?

SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

SNI信息:SNI(Server Name Indication)主要用来解决一台服务器只能使用一个证书(一个域名)的缺点,随着服务器对虚拟主机的支持,一个服务器上可以为多个域名提供服务,当服务器使用单一IP提供多个域名的HTTPS服务时,客户端在发起的请求中会携带SNI信息,指明所请求的域名,使得服务器能够切换到正确的域名并返回相应的证书。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

SNI产生的背景:

随着虚拟主机的兴起,服务器开启对虚拟主机的支持后,一个服务器IP要对应多个网站域名。当设置了SSL加密,服务器在读取HTTP请求里面的域名之前已经向客户端提交了证书,这会导致使用了错误的数字证书,因为服务器端无法知道客户端到底请求的是哪个域名下的服务,从而导致浏览器对用户发出警告。一个服务器可能为上千个域名提供服务,不可能将所有证书都发送给客户端,让客户端一一验证,找到与请求域名对应的证书。SNI的设计目的是为了让服务器根据请求来决定为哪个域服务,这个信息通常从HTTP请求头获得。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

SNI工作原理

SSL握手信息中并没有携带客户端要访问的目标地址,这会导致一个问题,即如果一台服务器有多个虚拟主机,且每个主机的域名不一样,使用了不一样的证书,该返回哪一个给客户端?文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

SNI工作原理:在连接到服务器建立SSL链接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的证书。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

Client Hello包中SNI信息携带

在Client Hello中补上Host信息,SNI在TLSv1.2开始得到协议的支持,当然还需要服务端和客户端都支持。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

Client Hello抓包如下:文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

Extension: server_name
    Type: server_name (0x0000)
    Length: 16
    Server Name Indication extension
        Server Name list length: 14
        Server Name Type: host_name (0)
        Server Name length: 11
        Server Name: nex.163.com

这个扩展信息就指定了该SSL握手信息的目标域名为nex.163.com,所以有了SNI扩展信息,单个IP对应多个域名的服务器就知道如何反馈证书了。文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html 文章源自新手站长-https://xinshouzhanzhang.com/sni-https-ssl.html

【阿里云99元服务器】入口2核2G3M带宽、新老用户同享、99元/年续费到2027年

【腾讯云特价】:2核2G3M 88元一年、2核2G4M 108元1年 366元3年、2核4G5M 166元/年 566元3年、4核8G12M 446元一年 更多配置8核16G18M和16核32G28M 点我直达 >>

2023阿里云优惠活动:xinshouzhanzhang.com/go/aliyun

注意:以上特价轻量服务器限制条件为“产品首单特惠”,如果你的腾讯云账号已经是老用户,建议重新注册一个腾讯云账号,如果你是新用户符合条件,那么无脑入,确实值得。

 最后更新:2018-10-12
网站SSL证书

腾讯云SSL证书即将到期支持快速重新申请

腾讯云SSL证书到期支持快速重新申请,SSL证书即将过期可以通过快速重新申请,输入申请邮箱即可,新手站长网来详细说下腾讯云SSL证书到期支持快速重新申请方法: 腾讯云SSL证书到期支持快速重新申请 腾...