关于 https 的 SNI(Sever Name Indication) 问题记录

关于 https 的 SNI(Sever Name Indication) 问题记录,第1张

要讨论 SNI 的问题,首先需要来介绍一个虚拟主机的概念。

虚拟主机 一般使用的技术为软硬件,它可以把一台真实的物理电脑主机进行划分,让它变成多个逻辑的存储单元,每一个单元中不会再有物理的实体,但是在单元内,却可以和真实的物理主机一样正常的工作,实现 IP 地址,单独的域名,完整的 Internet 服务器的工作。其中关键一点就是,虚拟主机的主要技术是在同一操作系统,同一硬件平台上,也能为用户提供不同的服务,且服务间互不干扰。

各种服务器软件都可以实现虚拟主机的配置,例如 Apache, nigx 等。其中

Apache 虚拟主机实现有 三种方法:

在互联网爆发的今天,网络安全问题越来越受到重视,也带来了目前的 https 大热的盛况。而 SSL证书是 https是加密协议的最常见解决方案。但是 https 在使用的过程中因为 SSL 证书而存在一个问题。

问题由来: 由于服务器能力的增强,在一台物理服务器上部署多个虚拟主机已经成为十分流行的做法了。在过去的 HTTP 时代,解决基于名称的主机同一 ip 地址上托管多个网站的问题并不难。当一个客户端请求某特定网站时,把请求的域名作为主机头(host)放在 http header 中,从而服务器根据域名可以知道把该请求引向哪个域名服务,并把匹配的网站传送给客户端。但是此方式到 https 就失效了,因为 SSL 在握手的过程中,不会有 host 信息,所以服务端通常返回配置中的第一个可用证书,这就导致不同虚拟主机上的服务不能使用不同证书(但在实际中,证书通常是与服务对应。)。

为了解决此问题,产生了 SNI,SNI 中文名为服务器名称指示,是对 SSL/TLS 协议的扩展,允许在单个 IP 地址上承载多个 SSL 证书。SNI 的实现方式是将 HTTP 头插入到 SSL 的握手中,提交请求的 Host 信息,使得服务器能够切换到正确的域并返回相应的正确证书。

SNI(Server Name Indication)定义在RFC 4366,是一项用于改善SSL/TLS的技术,在SSLv3/TLSv1中被启用。它允许客户端在发起SSL握手请求时(具体说来,是客户端发出SSL请求中的ClientHello阶段),就提交请求的Host信息,使得服务器能够切换到正确的域并返回相应的证书。 在 TLSv1.2(OpenSSL 0.9.8)版本开始支持。

您好!

提示可以忽略,如果一定要取消该提示,只需在Default默认站点,没有默认站点的也可以创建一个,默认站点随意绑定一个SSL证书就可以了,具体教程如下:网页链接

需要的站点绑定可信的SSL证书,根据SSL安装教程安装。

如果要实现HTTP跳转到HTTPS,首先要确保HTTP普通网站80端口要绑定好域名,HTTPS也安装好并且在浏览器可以正常访问,然后根据教程设置强制HTTPS访问:SSL自动跳转到HTTPS

如果还是不会安装SSL证书或者碰到复杂问题,可以联系Gworg提供有偿技术。

注意:一台服务器只能安装一个独立的SSL证书。如果使用多域名或泛域名证书,要根据对应的教程安装!安装前提确保服务器防火墙443、80端口正常开放,如果使用云服务器需要供应商安全规则里面添加端口。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/400181.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存