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

时间:2012-08-31 11:32:36

标签: iis-7 https 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

6 个答案:

答案 0 :(得分:17)

可以做到。

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主机标头。

答案 1 :(得分:7)

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

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

对此有一个很棒的MSDN blog

幸运的是IIS8似乎有Server Name Indication (SNI)形式的解决方案。

有趣的是,这不是一个IIS怪癖Apache has the same issue,就像引入SNI之前的任何Web服务器一样。

答案 2 :(得分:5)

iis 7.5或更高版本中的

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

enter image description here

答案 3 :(得分:2)

我们还在端口443中托管多个站点,但我们需要为每个站点提供唯一的IP地址。 您只能使用一个IP地址将多个站点绑定到端口443。 除非有解决办法,但我不知道。

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

答案 4 :(得分:0)

我当前使用IIS 6.0。 我设法使用端口443和不同的证书设置了多个网站。

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

答案 5 :(得分:0)

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

A picture tells...

来源:http://blog.angelwebdesigns.com.au/setting-up-a-wildcard-certificate-for-multiple-sites-in-iis-7/