要讨论 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端口正常开放,如果使用云服务器需要供应商安全规则里面添加端口。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)