SSL虚拟主机安全方案
SSL虚拟主机安全方案
随着虚拟主机技术的发展,功能越来越丰富,已经不仅仅只是满足个人网站的需要,越来越多的小型电子商务网站也采用了虚拟主机来建站,如何为这些商户提供经济、方便的SSL解决方案,成为虚拟主机供应商的业务新增长点。
技术分析
为什么我不能在相同IP地址下多个域名的虚拟主机上使用SSL?
这个问题十分专业,有些像“先有鸡还是先有蛋”的问题。SSL协议层是在HTTP协议层下面的,当SSL连接建立时,SSL模块在Web模块之前和 浏览器进行通讯并交换证书、建立加密隧道。众所周知,Web服务器是通过HTTP数据包中的”Host”字段来区分虚拟主机的。而SSL模块在把服务器证 书发送到浏览器时,还没有收到任何关于HTTP的数据包,更不知道虚拟主机的域名,因此SSL模块只能固定的将一张SSL证书发送到浏览器,而不能根据域 名有选择性的发送证书。因此,您无法在一个IP地址的默认SSL 443端口下为多个虚拟主机配置多张证书。
由于一个IP与一个端口号只能对应一张证书,因此我们可以采用以下方式来解决:
1、为需要SSL加密的虚拟主机配置不同的IP地址,端口号都使用443。例如: www.domain1.com 的SSL使用 202.96.101.1:443 www.domain2.com的SSL使用 202.96.101.2:443,通过 https://www.domain1.com 和 https://www.domain2.com 访问这2个SSL网站了
2、如果只有一个IP地址,可以为多个网站配置不同的SSL端口。例如: www.domain1.com 的SSL使用 202.96.101.1:443 www.domain2.com的SSL使用 202.96.101.1:1000,通过 https://www.domain1.com 和 https://www.domain2.com:1000 访问这2个SSL网站了
如果多个虚拟主机是1个主域名下的多个子域名,情况发生了转变,因为你可以申请通配符SSL证书。
例如: 有2个虚拟主机 abc.domain.com、xyz.domain.com,你申请一张 *.domain.com的证书,按照前面所说的原理,2个虚拟主机都使用同一个IP和默认的443端口,当浏览器访问IP:443端口时,SSL模块把 通配符SSL证书传送给浏览器,建立合法的SSL隧道,然后WEB模块接收到HTTP数据包时判断域名选择虚拟主机。
原理是OK的,不幸的是你无法按照这个原理对IIS进行配置,IIS不支持SSL端口配置域名。如果仅依靠IIS,你不得不使用上面的2个方法(不同的IP地址或者不同的端口号)。
如果仅有1个IP地址,采用方法2时,abc.domain.com 使用 443端口、xyz.domain.com使用1000端口,你会发现一个现象,由于SSL端口不区分域名,因此 https://abc.domain.com还是https://xyz.domain.com都是指向abc.domain.com网站内容,而 https://abc.domain.com:1000还是https://xyz.domain.com:1000都是指向 xyz.domain.com网站内容的。当然这也有好处,你可以在abc.domain.com下放一个程序,程序判断一下域名,如果用户访问 https://xyz.domain.com就马上跳转到https://xyz.domain.com:1000,不会有任何的安全警告。
幸运的是,通过SSL反向代理服务器,你可以解决这个问题。就是使用第三方的SSL模块来替代IIS处理SSL加密,将证书安装反向代理服务器中, 浏览器访问SSL反向代理服务器,然后反向代理服务器使用HTTP协议访问你的Web服务器。你可以选择SSL反向代理硬软件有: 1、支持SSL的负载均衡器,如F5、ArrayNetworks
2、使用ISA Server 2004软件。
3、使用免费的Squid软件。
4、使用免费的Stunnel软件。
5、使用PortTunnel软件。
推荐SSL证书
我们推荐虚拟主机服务商采用:(RapidSSL),因为它具有:
• 高性价比: RapidSSl证书价格便宜,考虑到租用虚拟主机的客户对价格相对敏感,这款证书是最有吸引力的。
• 申请便捷: 通过GeoTrust专有的在线申请技术,只验证域名所有权,可在10分钟内获得证书签发,这不仅可以帮助虚拟主机服务商降低人工成本,而且可以实现用户申请流程自动化。
• 安装简单,方便快捷;
• 兼容性强: 兼容99%以上的浏览器和Web服务器
SSL虚拟主机安全方案的更多相关文章
- Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
1. testing ! ... 1 1 原文参考链接: http://showerlee.blog.51cto.com/2047005/1266712 很久没有更新LAMP的相关文档了,刚好最近单位 ...
- 高级运维(二):搭建Nginx服务器、用户认证、基于域名的虚拟主机、SSL虚拟主机、Nginx反向代理
一.搭建Nginx服务器 目标: 在IP地址为192.168.4.5的主机上安装部署Nginx服务,并可以将Nginx服务器,要求编译时启用如下功能: 1> SSL加密功能 2> 设置Ng ...
- 基于Nginx的SSL虚拟主机
通过私钥,证书对站点www.test.com的所有数据加密,实现通过https访问www.test.com 环境说明: 源码安装Nginx时必须使用--with-http_ssl_module参数,启 ...
- 十八.搭建Nginx服务器、配置网页认证、基于域名的虚拟主机、ssl虚拟主机
配置要求: client:192.168.4.10 proxy:192.168.4.5(eth0) 192.168.2.5(eth1) web1:192.168.2.100 web2:192.168. ...
- nginx篇最初级用法之SSL虚拟主机
注意:在源码安装nginx时必须要使用--with-http_ssl_module参数启动加密模块. openssl genrsa > cert.key //使用openssl自己签发私钥 o ...
- SSL虚拟主机
1.生成公钥与私钥 [root@proxy ~]# cd /usr/local/nginx/conf [root@proxy ~]# openssl genrsa > cert.key //生成 ...
- 四、SSL虚拟证书
沿用练习三,配置基于加密网站的虚拟主机,实现以下目标: 域名为www.c.com 该站点通过https访问 通过私钥.证书对该站点所有数据加密 4.2 方案 源码安装Nginx时必须使用--with- ...
- Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机
Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...
- HTTPS-SSL/TSL与SNI的关系以及同IP多域名虚拟主机的SSL/TSL认证
早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计,它默认认为:一台服务器(或者说一个IP)只会提供一个服务,所以在SSL握手时,服务器端可以确信客 ...
随机推荐
- delphi中如何控制listview的每行的颜色
我们可以设定一个字段的值,用以判断用什么颜色显示listview的颜色,例子如下 procedure TMainForm.ListView2CustomDrawItem(Sender: TCustom ...
- Html隐藏占空间与隐藏不占空间
隐藏不占用空间: display:none; 以下为示例代码: <span style="display:none;"> 获取中</span> 隐藏占用空间 ...
- 【转】PHP操作MongoDB【NoSQL】
原文:http://blog.sina.com.cn/s/blog_4b67d3240101519b.html 一.MongoDB简介 MongoDB (名称来自"humongous&quo ...
- 开源项目之ASP.NET Core + Vue.js 的前后端分离的通用后台管理系统框架
年前看了这个开源项目感觉很不错,这个小项目对于传统的.net 开发人员,想做技术提升是一个很不错的参考案例. 开源项目演示地址:https://dnczeus.codedefault.com/logi ...
- LinkedBlockingQueue源码解析(3)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 4.3.public E take() throws InterruptedException 原理: 将队 ...
- Svn和jekins的使用
首先是svn的安装, 在安装svn的服务端时,需要注意选择第二项,这样才能在idea中使用svn, 然后就是在idaa中配置svn插件. 插件的使用 从svn库中检出项目 然后在这个地址中填入你需要导 ...
- C++类模板 template <class T>
C++在发展的后期增加了模板(template )的功能,提供了解决这类问题的途径.可以声明一个通用的类模板,它可以有一个或多个虚拟的类型参数. 比如: class Compare_int class ...
- hdu4815----dp0-1背包
/* 题目大意: 有n个问题,,告诉你答对该题能得多少分,其中一个人随机答题,问另一个人不输的概率为p 至少需要答多多少分 对于样例: 3 0.5 1 2 3 分析: 分数 0 1 2 3 3 4 5 ...
- redis内存监控与回收
Redis有自己的内存分配器,当key-value对象被移除时,Redis不会马上向操作系统释放其占用内存.redis之所以这样的设计有两个原因. OS可能会将释放内存交换到虚拟内存,但OS的虚拟内存 ...
- ehcache 页面整体缓存和局部缓存
页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是很必要的.那么主页的缓存策 ...