我在 IIS 7 的端口 443(https) 上托管了一个网站“www.example1.com”。现在我为同一 IP 的“www.example2.com”购买了一个新域。我想在此域中托管另一个网站(www.example2.com http://www.example2.com)在端口 443(我已经将端口 443 用于“www.example1.com”)。
我怎样才能做到这一点?是否可以在同一 IP 的端口 443 中托管两个域?如果是的话,有人可以让我知道执行此操作的正确方法吗?我使用的是 IIS 7。
可以办到。
IIS 7 中的 SSL 主机标头允许您对同一 IP 地址上的多个 IIS 网站使用一个 SSL 证书。通过 IIS 管理器界面,IIS 只允许您使用 SSL 证书将每个 IP 地址上的一个站点绑定到端口 443。如果您尝试将 IP 地址上的第二个站点绑定到同一证书,则 IIS 7 将在启动站点时向您显示错误,指出存在端口冲突。为了分配供同一 IP 地址上的多个 IIS 站点使用的证书,您需要按照以下说明设置 SSL 主机标头。
您需要什么类型的 SSL 证书?
由于您只能使用一个证书,因此该证书需要与您使用它的网站的所有主机名一起使用(否则您将收到名称不匹配错误)。例如,如果您的每个 IIS 7 网站都使用单个通用域名的子域(如下例所示),您可以获得 *.mydomain.com 的通配符证书,它将保护 site1.mydomain.com、site2 .mydomain.com 等
另一方面,如果您的 IIS 7 站点都使用不同的域名(mail.mydomain1.com、mail.mydomain2.com 等),您将需要获取统一通信证书(也称为 SAN 证书)。
在 IIS 7 上设置 SSL 主机标头
获取 SSL 证书并将其安装到 IIS 7 中。有关如何执行此操作的分步说明,请参阅在 Windows Server 2008 (IIS 7.0) 中安装 SSL 证书。
将证书安装到 IIS 后,将其绑定到 IP 地址上的第一个站点。
单击开始菜单并输入“cmd”并按 Enter 键打开命令提示符。
通过在命令行上键入“cd C:\Windows\System32\Inetsrv\”导航到 C:\Windows\System32\Inetsrv\。
在 Inetsrv 文件夹中,对 IP 地址上需要使用证书的每个其他网站运行以下命令(复制两行):
appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']
Replace <IISSiteName> with the name of the IIS site and <hostHeaderValue> with the host header for that site (site1.mydomain.com)
在浏览器中测试每个网站。它应该会显示正确的页面并显示锁定图标,没有任何错误。如果它显示第一个 IIS 站点的网页,则 SSL 主机标头尚未正确设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)