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服务器

时间: 2024-10-06 07:28:13

SSL虚拟主机安全方案的相关文章

基于apache双向ssl虚拟主机服务配置

因为公司需要最近一直研究apache双向认证的问题,公司只有一台服务器,这台服务器上部署着wiki知识库,owncloud私有云,phpmyadmin,zendaopms.现在想实现owncloud需要证书认证的方式才能访问,其他三个可以通过http访问.想要实现这样的环境需要用到apache双向ssl的配置还有apache虚拟主机的知识. 软件环境 Apache Httpd 2.2.16  openssl-1.0.0e.tar.gzSSL-Tools(http://www.openssl.or

13_搭建Nginx服务器、配置网页认证、基于域名的虚拟主机、ssl虚拟主机

官方yum源:[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1 pc71. 安装nginx]# yum -y install nginx]# nginx]# nginx -Vnginx version: nginx/1.16.1]# netstat -anptu | grep nginx]# curl http://10.10.11.10

SSL虚拟主机

条件:[ 源码安装Nginx时必须使用--with-http_ssl_module参数,启用加密模块,对于需要进行SSL加密处理的站点添加ssl相关指令(设置网站需要的私钥和证书). ] 解析:加密算法一般分为对称算法.非对称算法.信息摘要. 对称算法有:AES.DES,主要应用在单机数据加密. 非对称算法有:RSA.DSA,主要应用在网络数据加密. 信息摘要:MD5.sha256,主要应用在数据完整性校验.数据秒传等. 步骤: 1.生成私钥和证书:# cd /usr/local/nginx/c

nginx篇最初级用法之SSL虚拟主机

注意:在源码安装nginx时必须要使用--with-http_ssl_module参数启动加密模块. openssl genrsa > cert.key  //使用openssl自己签发私钥 openssl req -new -x509 -key cert.key > cert.pem //签发证书 修改nginx配置文件,设置加密网站的虚拟主机 server { listen 443 ssl; server_name          www.baidu.com; ssl_certifica

虚拟主机配置方案(二)通过ServerName端,来区分不同的域名

通过ServerName端,来区分不同的域名: 步骤: 1. 开发新的站点 2.在httpd-vhost.conf文件中添加配置:(此时配置和以前不同) <VirtualHost *:80> DocumentRoot "E:/the_third_grade/Apache_workspace/text03" #这里指定域名 ServerName www.songjs3.com DirectoryIndex my.html index.html index.htm index.

Nginx服务器 、 Nginx虚拟主机 、 Nginx反向代理

###################################################################################################3 Nginx服务器: 1.轻量级http服务器,并发量高.2.反向代理服务器. #########################################################################################################3 准备四

安装apache2虚拟主机并支持ssl(debian)

debian下安装apache2+ssl支持 一.虚拟主机 1.当前版本 cat /etc/debian_version  5.0.1 2.本机ip ifconfig|awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print $2}' 10.1.10.250 3.安装apache2的prefork模式 apt-get -y install apache2-mpm-prefork apache2 -l|grep prefork.c   

rpm包格式安装配置lamp提供两个虚拟主机分别wordpress和phpMyAdmin,后一个提供ssl访问方式。

第一步:设置虚拟主机 首先在/ 监听两个端口,用于开启两个页面: Listen  172.16.249.139:80 Listen  172.16.249.139:80 将主路径取消 #DocumentRoot "/var/www/html" 设置虚拟主机以及IP NameVirtualHost 172.16.249.139:80 设置两个虚拟主机 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /

Apache2.4版本环境下基于虚拟主机、ssl、用户控制

环境说明:此篇博客是基于编译安装httpd2.4博客基础上进行的 一.虚拟主机: 1.1基于host [[email protected] apache]# vim/etc/httpd24/httpd.conf Include/etc/httpd24/extra/httpd-vhosts.conf   #开启虚拟主机 #DocumentRoot"/www/htdocs"    #将中心主机注释掉 [[email protected] apache]# cd/etc/httpd24/ex