作者:zhanhailiang 日期:2013-02-04
为什么不能在相同IP地址虚拟主机下多个域名上使用SSL证书?
查看ApacheFAQ:
Why is it not possible to use Name-Based Virtual Hosting to identify differentSSLvirtual
hosts?
Name-Based Virtual Hosting is a very popular method of identifying different virtual hosts. It allows you to use the same IP address and the same port number for many different sites. When people
move on to
SSL, it seems natural to assume that the same method can be used to have lots of different
SSLvirtual
hosts on the same server.
It comes as rather a shock to learn that it is impossible.
The reason is that the
SSLprotocol is a separate layer which encapsulates the
HTTPprotocol.
So the
SSLsession is a separate transaction, that takes place before the
HTTPsession
has begun. The server receives an
SSLrequest on IP address X and port Y (usually 443). Since the
SSLrequest
does not contain any Host: field, the server has no way to decide which
SSLvirtual host to use. Usually, it will just use the first one it finds, which matches
the port and IP address specified.
You can, of course, use Name-Based Virtual Hosting to identify many non-
SSLvirtual hosts (all
on port 80, for example) and then have a single
SSLvirtual host (on port 443). But if you do this, you must make sure to put the non-
SSLport
number on the NameVirtualHost directive, e.g.
NameVirtualHost 192.168.1.1:80
Other workaround solutions include:
Using separate IP addresses for different
SSLhosts. Using different port numbers for different
SSLhosts.
即因为SSL协议层是在HTTP协议层下面的,首先进行SSL连接,SSL模块在Web模块之前和浏览器进行通讯并交换证书、建立加密隧道。众所周知,Web服务器是通过HTTP数据包中的”Host”字段来区分虚拟主机的。而SSL模块在把服务器证书发送到浏览器时,还没有收到任何关于HTTP的数据包,当然也就不知道虚拟主机的域名,因此SSL模块只能固定的将一张SSL证书发送到浏览器,而不能根据域名有选择性的发送证书。因此,无法在一个IP地址的默认SSL443端口下为多个虚拟主机配置多张证书。
由于一个IP与一个端口只能对应一张SSL证书,因此我们可以采用以下方式解决:
1、为需要SSL加密的虚拟主机配置不同的IP地址,端口都使用443。例如:www.domain1.com的SSL使用69.96.69.1:443;www.domain2.com的SSL使用69.96.69.2:443,通过https://www.domain1.com和https://www.domain2.com就可以正常访问这2个SSL加密网站了。
2、如果只有一个IP地址,可以为多个网站配置不同的SSL端口。例如:www.domain1.com的SSL使用69.96.69.1:443;www.domain2.com的SSL使用69.96.69.1:800,通过https://www.domain1.com和https://www.domain2.com:800访问这2个SSL网站了。
如果多个虚拟主机使用一个主域名下的不同个子域名,您可以申请通配符Wildcard SSL证书
例如:有2个虚拟主机mail.domain.com、bill.domain.com,你申请一张*.domain.com的证书,按照前面所说的原理,2个虚拟主机都使用同一个IP和默认的443端口,当浏览器访问IP:443端口时,SSL模块把通配符Wildcard SSL证书传送给浏览器,建立合法的SSL隧道,然后WEB模块接收到HTTP数据包时判断域名选择虚拟主机。
原理是可行的,不幸的是你无法按照这个原理对IIS进行配置,IIS不支持SSL端口配置域名。如果仅依靠IIS,你不得不使用上面的2个方法(不同的IP地址或者不同的端口号)。
如果仅有1个IP地址,采用方法2时,mail.domain.com使用443端口,bill.domain.com使用1000端口,你会发现一个现象,由于SSL端口不区分域名,因此无论访问https://mail.domain.com还是https://bill.domain.com都是指向mail.domain.com网站内容;而无论 访问https://mail.domain.com:800还是https://bill.domain.com:800都是指向bill.domin.com网站内容的。当然这也有好处,你可以在abc.domain.com下放一个程序,程序判断一下域名,如果用户访问https://bill.domain.com就马上跳转到https://bill.domain.com:800,不会有任何的安全警告。
幸运的是,通过SSL反向代理服务器,你可以解决这个问题。就是使用第三方的SSL模块来替代IIS处理SSL加密,将证书安装反向代理服务器中,浏览器访问SSL反向代理服务器,然后反向代理服务器使用HTTP协议访问你的Web服务器。你可以选择SSL反向代理硬软件有:
-
支持SSL的负载均衡器,如F5、ArrayNetworks
-
使用ISA Server 2004软件。
-
使用免费的Squid软件。
-
使用免费的Stunnel软件。
-
使用PortTunnel软件。
当然,也可以使用多域名SSL
多域名SSL证书与通配型证书是不同的,通配型SSL证书支持 *.domain.com,即支持同一域名下的所有子域,而多域名证书则是任何域名,不仅限于子域,因为一般一个单位有多个域名和一台虚拟主机上有多个不同的用户的域名,如:domain.com、domain.cn、domain.com.cn、domain.net、domain.net.cn、mydomain.com、domain.us等等。
参考文档:
分享到:
相关推荐
清竹虚拟主机管理系统是一款庞大的IDC行业软件,它集合了客户管理、在线交易、开通、控制、计划任务于一体的解决方案。一、会员模块自助注册、邮件认证激活帐号,保证帐号资料的真实及安全性会员可在线自助充值,...
[主机域名]YIRANHOST虚拟主机管理软件 v2.0_yiranhost(ASP.NET源码).rar
虚拟主机网站建设之域名注册与虚拟主机空间的申请.doc
实验6 虚拟主机网站建设--域名及虚拟主机的申请.docx
WebLogic_虚拟主机.docx
虚拟主机搭建配置文档.doc
VMware服务器虚拟化解决方案详细 虚拟化解决方案 目 录 一、VMware解决方案概述 3 1.1 VMware服务器整合解决方案 3 1.2 VMware商业连续性解决方案 5 1.3 VMware测试和开发解决方案 8 二、VMware虚拟化实施方案设计 9...
JSP中文网虚拟主机使用说明.docx
将自己的电脑打造成虚拟主机(最新整理).pdf
虚拟化数据中心给网络安全带来了一些挑战,尤其是虚拟机的迁移,计算集群主机的加入与离开等都是传统数据中心所没有的。
清竹虚拟主机管理系统是一款庞大的IDC行业软件,它集合了客户管理、在线交易、开通、控制、计划任务于一体的解决方案。 一、会员模块 自助注册、邮件认证激活帐号,保证帐号资料的真实及安全性 会员可在线自助充值...
[主机域名]易方虚拟主机销售系统EfangIsale 7.0_efangisale7.0(ASP.NET源码).rar
[主机域名]数据王域名虚拟主机管理系统 v1.0_shujuwanghost(ASP.NET源码).rar
HZHOST域名虚拟主机管理系统sql注射漏洞 进一步利用.docx
华为云安全解决方案云南服务商,华为云为企业提供全栈的安全防护,主机安全防护解决方案、数据安全防护解决方案、虚拟网络安全解决方案、边界防御安全解决方案等。
果汁虚拟主机管理系统网络版函数(2021整理).docx
网站建设、域名注册、虚拟主机及其他相关业务代理合同.docx
内容大纲 VSIP虚拟化系统概述 VSIP虚拟化系统功能 VSIP虚拟化系统性能 VSIP虚拟化系统安全性 VSIP虚拟化系统兼容性 VSIP成功客户应用案例 关于盛思睿 VSIP服务器虚拟化解决方案全文共35页,当前为第2页。...