Iis 7 同一IP中443端口中的多个域

Iis 7 同一IP中443端口中的多个域,iis-7,https,multiple-domains,Iis 7,Https,Multiple Domains,我在IIS 7的端口443(https)上托管了一个网站“www.example1.com”。现在我用同样的IP为“www.example2.com”买了一个新域名。我想在端口443中托管此域中的另一个网站()(我已经将端口443用于“www.example1.com”) 我该怎么做?是否可以在同一IP中的端口443中承载两个域?如果有,请告诉我正确的方法?我正在使用IIS 7。我们还在端口443中托管多个站点,但我们需要每个站点的唯一IP地址。 不能仅使用一个IP地址将多个站点绑定到端口443

我在IIS 7的端口443(https)上托管了一个网站“www.example1.com”。现在我用同样的IP为“www.example2.com”买了一个新域名。我想在端口443中托管此域中的另一个网站()(我已经将端口443用于“www.example1.com”)


我该怎么做?是否可以在同一IP中的端口443中承载两个域?如果有,请告诉我正确的方法?我正在使用IIS 7。

我们还在端口443中托管多个站点,但我们需要每个站点的唯一IP地址。 不能仅使用一个IP地址将多个站点绑定到端口443。 除非有工作,但我不知道有

本文可能有助于:

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

您的解决方法是通过绑定到不同的外部IP或绑定到443以外的端口来区分站点。据我所知,这两种选择都不太理想

这上面有一个很好的例子

幸运的是,IIS8似乎有一个解决方案

有趣的是,这不是IIS的怪癖,在引入SNI之前,任何web服务器都会这样做。

这是可以做到的

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设置site/site.name:“/+绑定。[protocol='https',bindingInformation=''*:443:']
替换为IIS站点的名称和该站点的主机头(site1.mydomain.com)
在浏览器中测试每个网站。它应该显示正确的页面并显示锁定图标,没有任何错误。如果它显示第一个IIS站点的网页,则SSL主机头未正确设置。

我当前使用的是IIS 6.0。 我已经使用端口443和不同的证书建立了多个网站

从IIS管理器中,转到网站并编辑网站绑定。 只需确保勾选了Require Server Name指示框,并将IP地址保留为All Unassigned。
现在,通过从证书下拉列表中为站点选择适当的证书,您可以将同一端口(443)用于多个站点。

如果您使用的是通配符证书,只需在友好名称中使用格式*.domainname.com,当您编辑绑定时,IIS GUI将为您启用主机名控件


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


我应该补充一点,您可以使用SAN证书pre-IIS8来拥有多个具有相同IP+端口的SSL域。SAN证书允许使用单个证书保护多个域名。例如,您可以为myserver.com获取一个证书,然后添加更多的SAN值以使用相同的证书保护myserver.org、myserver.net甚至myserver 2.com或www.example.com。这是正确的,您可以使用SAN证书执行此操作。问题是,如果您已经有单独的SSL证书,您需要撤销它们并获得一个新的SAN证书,每次您想要添加另一个域时,您都需要一个新的SAN证书。最后一部分是将公共SSL证书分配给站点。这可以通过编辑SSL绑定在IIS管理器中对单个站点执行,IIS管理器将自动将其添加到其他站点。事实并非如此。您写道:“……并将IP地址保留为所有未分配”。您没有说明的是,您正在为每个网站使用不同的IP地址-这就是为什么您希望保留未指定的IP地址字段。你的方法没有什么特别之处——一直都是这样。原来的海报是问关于使用相同的IP地址。这不是正确的答案。最初的海报是专门询问IIS7的。IIS7上不存在您的带有服务器名称指示的解决方案。不幸的是,世界的状况是,此线程出现在
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)