443端口中的多个域位于同一IP中

Kar*_*hik 15 https iis-7 multiple-domains

我在IIS 7的端口443(https)中托管了一个网站"www.example1.com".现在我为同一个IP购买了一个新的"www.example2.com"域名.我想在443端口(我已经使用443端口用于"www.example1.com")托管该域(www.example2.com)中的另一个网站.

我怎样才能做到这一点?这是否可以在同一IP的端口443中托管两个域?如果有人可以,请让我知道正确的方法吗?我正在使用IIS 7.

此致,Karthik

Spo*_*com 18

可以办到.

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)
Run Code Online (Sandbox Code Playgroud)

在浏览器中测试每个网站.它应该显示正确的页面并显示锁定图标,没有任何错误.如果它显示第一个IIS站点的网页,则尚未正确设置SSL主机标头.

  • 这是正确的,您可以使用SAN证书执行此操作.问题在于,如果您已经拥有单独的SSL证书,则需要撤销它们并获得新的SAN证书,并且每次要添加其他域时,都需要新的SAN证书. (2认同)

sai*_*lle 9

您不能在IIS7中 - 每个HTTPS绑定都需要唯一的IP /端口组合,因为主机标头不能用于区分使用SSL的站点.这是因为在SSL握手期间主机头不可见.

您的解决方法是通过绑定到不同的外部IP来区分站点,或者通过绑定到443以外的端口来区分站点.我知道这两个选项都不太理想.

这是一个很棒的MSDN博客.

幸运的是IIS8似乎有一个服务器名称指示(SNI)形式的解决方案.

有趣的是,这不是IIS的怪癖,Apache也有同样的问题,就像引入SNI之前的任何Web服务器一样.


jav*_*asd 8

在 iis 7.5 或更新版本中 - 站点 > 添加网站 - 站点名称:example2.com - 物理路径:选择目录 - 绑定:与 example.com 相同的 IP - 主机名:example2.com 然后在绑定中检查这两个网站

在此处输入图片说明

  • 不幸的是,世界的状况是这样的,当搜索“同一 IP 的 443 端口中的多个域”时会出现此线程,因此我非常感谢这个答案 (3认同)
  • 这不是有效的答案。原来的发帖人是专门询问 IIS7 的。您的带有服务器名称指示的解决方案在 IIS7 上不存在。 (2认同)

And*_*ruz 0

我们还在端口 443 上托管多个站点,但每个站点都需要唯一的 IP 地址。您无法仅使用一个 IP 地址将多个站点绑定到端口 443。除非有解决方法,但我不知道有什么解决方法。

本文可能有所帮助: http://www.harbar.net/articles/ssl.aspx