百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

天威诚信:SSL虚拟主机解决方案

qiyuwang 2025-03-13 19:58 18 浏览 0 评论

由于全球互联网络的迅猛发展,IPv4资源逐渐成为一种稀缺资源。传统的SSL证书安装配置办法(也是目前最稳定的解决方法)就是为每个https主机使用不同的IP地址。

如果直接按照http主机的配置办法配置https主机,就会出现一个很普遍的问题:不论浏览器请求哪个主机,都只会收到默认主机(配置的第一个443端口的虚拟主机)的证书。这是由SSL协议本身的特性引起的——先建立SSL连接,再发送https请求(即加密主机头)。所以服务器端在与客户端建立SSL连接时不知道客户端所请求主机的名字,因此服务器端只会返回默认主机的证书。

目前已有两种可行的方案来实现多个 https 主机共享一个IP地址的443端口:

1. 使用支持多个域名的证书(多域名证书或通配符证书)

多域名SAN(SubjectAltName)证书能够在一张证书中最多支持绑定25个域名。当需要为同一台物理服务器上的多个不同域名的主机配置SSL证书时,可通配置一张共享的多域名证书来实现IP地址和端口的共享。只需将所有虚拟站点的域名绑定到这张多域名证书中即可。

赛门铁克(Symantec)通配符证书是在一个单一的证书中,通用名(域名)字段中包含一个“*”通配符字段(*.example.com)。这使得该证书可以支持无限制数量的多个子域名(主机)。这张Symantec通配符证书也可作为虚拟主机的共享证书,为所有归属于同一域名下的二级域名实现https虚拟主机的IP地址共享。

对比多域名证书和通配符证书的产品特征可知,多域名证书受到“SubjectAltName”字段的长度限制,最多支持25个域名。而通配符证书虽然支持的域名数量不受限制,但只能支持同一域名下的二级子域名。在证书的应用中需要根据证书产品特点加以合理选择。

多域名和通配符证书在配置文件中的配置:

IIS上配置https虚拟主机共享443端口,微软官方资料参考:

http://technet.microsoft.com/zh-cn/library/cc756897.aspx

cscript.exe adsutil.vbs set /w3svc/ /SecureBindings ":443 :

1.先设置为Web服务器和按照一般SSL证书的要求安装成功;

2.为了安全起见,请以一般用户(Users组)登录Windows 2003 Server,运行:

runas /profile /user: MyComputer Administrator cmd

其中:MyComputer为服务器主机名,运行后会提示Administrator的密码,将以系统管理员身份运行DOS命令行。

3.在DOS命令行下运行:

cscript.exe adsutil.vbs set /w3svc/ /SecureBindings ":443: "

其中: 可能需要明确指出adsutil.vbs的目录,如:C:InetpubAdminScripts,而 就是IIS自动分配给每个网站的网站标识符(默认站点为1,其他站点可在控制台中查询), 就是需要安装多域型SSL证书和通配型SSL证书的Web服务器域名。

4.退出DOS后,重启Web服务器后就已经生效了,可以都使用https://访问测试。

Apache配置https虚拟主机共享443端口:

Listen 443

NameVirtualHost *:443

SSLCertificateFilecommon.crt;

SSLCertificateKeyFile common.key;

SSLCertificateChainFile ca.crt

……

ServerName www.example1.com

……

ServerName www.example2.com

Nginx配置https虚拟主机共享443端口:

ssl_certificate common.crt;

ssl_certificate_key common.key;

server {

listen 443;

server_name www.example1.com;

ssl on;

...

}

server_name www.example2.com;

2.开启SNI支持

SNI 是“Server Name Indication”的缩写,全称“主机名称指示”。开启SNI,可以允许一个443端口共享给多个虚拟站点,并且每一个虚拟站点都允许独立配置其唯一的证书密钥对。其优点是每个站点独享唯一密钥对,更安全。缺点是SNI受客户端及服务端程序版本限制,部分客户端及服务端程序无法支持。

TLS主机名指示扩展(SNI,RFC6066)允许浏览器和服务器进行SSL握手时,将请求的主机名传递给服务器,因此服务器可以得知需要使用哪一个证书来服务这个连接。但SNI只得到有限的浏览器和服务器支持。

SNI 客户端支持

Firefox 2.0 及后续版本

Opera 8.0及后续版本

Internet Explorer 7.0及后续版本(要求Windows最低Vista系统)

Google Chrome 所有版本(Windows版要求最低Vista系统)

Safari 3.2.1及后续版本(Mac OS版要求最低X 10.5.6 ;Windows版要求最低Vista系统)

SNI 服务器端支持

Nginx 0.5.32及后续版本

Apache 2.2.12及后续版本

IBM Http Server 7.0及后续版本

Apache 、Nginx 要求安装 Openssl0.98f(0.98j开始默认支持SNI) 或更高版本的 Openssl 支持。

SNI的配置

在Apache中配置SNI

在Apache配置文件中通过使用为不同Web Server指定不同证书文件进行配置。

SSLCertificateFile www.example1.com.crt

SSLCertificateKeyFile www.example1.com.key

SSLCertificateFile www.example2.com.crt

SSLCertificateKeyFile www.example2.com.key

开启虚拟主机配置

在Nginx中配置SNI

Nginx 中通过 nginx -v 命令查询当前已安装的版本对 SNI 功能的支持。在配置文件中通过

ssl_certificate server1.crt;

ssl_certificate_key server1.key;

ssl_certificate server2.crt;

ssl_certificate_key server2.key;

开启SNI支持。

在IBM Http Server 7中配置SNI

IBM Http Server 7中配置SNI支持需要将多个证书密钥对合并到一个单独的kdb文件中来为不同虚拟站点配置使用不同证书。

使用 I Key Manager 工具打开 www.example1.com 的服务器证书 key.kdb 文件,切换到“个人证书”选项卡,选择“导入/导出”。然后选择证书导入密钥库,密钥库格式选择“CMS”格式,并选中 www.example2.com 的服务器证书 key.kdb 文件。将 www.example2.com 的服务器证书 key.kdb 中已存在的证书密钥对导入到 www.example1.com 的 key.kdb 文件中。导入过程中,修改导入的密钥对别名为 example2。

Listen *:443

SSLEnable

SSLServerCert example1 # example1 是在 kdb 文件中,为 www. example1.com 的服务器证书密钥对设置的证书别名

SSLServerCert example2 #example2是在 kdb 文件中,为 www. Example2.com 的服务器证书密钥对设置的证书别名

SSLDisable

KeyFile /opt/IBM/HTTPServer/key.kdb

相关推荐

在Word中分栏设置页码一页两个页码的技巧!

施老师:在正常情况下,Word文档中一页只会出现一个页码。但在某种情况下,比如说:用了分栏后,我们希望一页中出现两个页码,那应该如何实现呢?今天,就由宁双学好网施老师来为大家讲一下,利用域来实现一页两...

如何在关键时刻向上自荐(如何在关键时刻做出正确选择)

抓住机会,挺身而出有种时刻叫“关键时刻”,关键时刻,作为一个认为自己有能力的、训练有素的人,应该考虑挺身而出,甚至应该不考虑就挺身而出。...

WPS Word:跨页的文档表格,快速调整为一页。#Excel

如何快速将跨页的文档表格调整为一页?需要根据两种情况分别处理。如果表格所有行的行高相同,调整为一页的方法有两种。第一种方法是将光标移动到表格内,然后将鼠标移动到表格右下角的方框处,按住鼠标左键向上拖动...

word文档插入下一页分节符(word下一页分页符)

在word文档中,对文档页面进行分页是特别常见的操作,其中的下一页分节符也是用得比较多的,但是一些人不太清楚在哪里设置,也不知道它具体能实现的功能是什么。接下来看看如何在word文档中插入下一页分节符...

word文档如何设置某一页纸张的方向

word文档页面方向有横向和纵向,纵向是默认的纸张方向,有时我们需要将页面设置为横向,或只设置其中某一页方向,应该怎么操作呢?一起来看看下面的详细介绍第一步:...

word怎么单独设置一页为横向(word2019怎样设置单独一页为横向)

word里面其中一页可以改为横向的吗?经过实际操作发现是完全可以的。...

Word如何设置分栏,如何一页内容同时显示一栏和两栏

我们使用Word文档,有时需要用到两栏的排版,甚至一页内容同时包含一栏和两栏的排版,这种格式怎么设置呢?具体步骤如下:首先是两栏排版的设置,直接点击Word文件上方工具栏【布局】,选择【分栏】下面的【...

Word怎么分页?这三个方法可以帮到你

我们不仅可以利用Word编辑文档,还可以编辑文集呢。但是有时候会出现两个部分的文章长短不一,我们需要对文档进行分页处理。这样可以方便我们对文档进行其他操作。那么Word怎么分页呢?大家可以采用下面这...

Word内容稍超一页,如何优化至单页打印?

如何将两页纸的内容,缩到一页打印呢?有时候一页纸多一点内容,我们完全可以缩一下,放到一页来打印。...

[word] word 表格如何跨行显示表头、标题

word表格如何跨行显示表头、标题在Word中的表格如果过长的话,会跨行显示在另一页,如果想要在其它页面上也显示表头,更直观的查看数据。难道要一个个复制表头吗?当然不是,教你简单的方法操作设置Wo...

Word表格跨页如何续上表?(word如何让表格跨页不断掉)

长文档的表格跨页时,你会发现页末空白太多了,这时要怎么调整?选中整张表格,右击【表格属性】,点击【行】选项,之后勾选【允许跨页断行】,点击确定即可解决空白问题。...

Word怎么连续自动生成页码,操作步骤来了!

Word怎么连续自动生成页码,操作步骤来了!...

word文档怎么把两页合并成一页内容?教你4种方法

word怎么把两页合并成一页?word怎么把两页合并成一页?用四种方法演示一下。·方法一:把这一个文档合并成一页,按ctrl加a全选文档,然后右键点击段落,弹出的界面行距改成固定值,磅值可以改小一点,...

如何将Word中的一页的纸张方向设置为横向?这里提供详细步骤

默认情况下,MicrosoftWord将页面定向为纵向视图。虽然这在大多数情况下都很好,但你可能拥有在横向视图中看起来更好的页面或页面组。以下是实现这一目标的两种方法。无论使用哪种方法,请注意,如果...

Word横竖混排你会玩吗?(word横排竖排混合)

我们在用Word排版的时候,一般都是竖版格式,但偶尔会需要到一些特殊的版式要求,比如文档中插入的一个表格,横向的内容比较多,这时就需要用到横版,否则表格显示不全。这种横竖版混排的要求,在Word20...

取消回复欢迎 发表评论: