对于一般的单域型SSL证书,由于一台物理服务器(一个IP)中只有一个443端口用于缺省的SSL端口,如果还有其他Web服务器要安装SSL证书,则只能用其他端口了。但多域型SSL证书支持多个不同的域名含在同一个SSL证书中,而通配型SSL证书则是一个证书支持*.domain.com下的所有子域,都可以实现一个SSL证书用于多个Web服务器,不过用于IIS确实只有一个443端口,需要做一些设置,才能使得所有Web服务器都可以使用443端口。

    参考微软网站的有关文档,Windows 2003 Server IIS的安装指南整理如下:

1、先设置Web 服务器把所有需要证书的站点都部署好SSL ,选择不同的SSL 端口;

2、为了安全,请以一般用户(users组)登陆windows 2003 server ,运行:

runas /profile /user: MyComputer \ Administrator cmd

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

3、DOS 命令:

cscript.exe adsutil.vbs set /w3svc / <site identifier> /SecureBindings ":443:<hot header>"

注意:可能需要明确指出adsutil.vbs的目录,如:c:\inetpub\adminscripts\

<site identifier>是iis 自动分配给每个网站的标示符,

<hot header> 就是需要安装多域SSL证书或通配型SSL证书的WEB 服务器的域名。例如:site2.contoso.com or site4.contoso.com.

4、退出DOS 后,重启web 服务器后,就可以用https:// 浏览改网站了。

图解:

但是在IIS6中,如果两个网站都是同一个IP,同一个端口(443),并且分配了同一个证书(多域名和通配符证书),则当其中一个网站启动后,另一个网站就将无法启动,如何解决这个问题呢?

1、检查WINDOWS2003是否已经升级到SP1以上版本,如果没有升级SP1,则后续步骤将无法完成

2、确保使用的证书是多域名,或者是通配符证书,两个网站必须都使用这个证书,如果这个证书的CN和SAN不包含着2个网站的域名,就会报警告

3、首先按正常的流程,为站点1,安装SSL证书,并将SSL端口配置为443。

4、对站点2,选择分配证书,并选择站点1使用的证书,并将SSL端口配置为其他端口号(444,445,446...)


5、请用本机管理员登入系统,启动命令行程序“cmd”。

6、运行以下指令:
cscript.exe c:\inetpub\adminscripts\adsutil.vbs set /w3svc/站点标识符/SecureBindings ":443:主机头"
回到IIS6控制台,刷新,可以发现网站2的SSL端口已经改成443了。