【问题标题】:Different domains to different pages in IIS7IIS7中不同的域到不同的页面
【发布时间】:2010-10-04 10:26:40
【问题描述】:
我在 IIS7 的默认网站中有一个 默认网站 和另一个 Web 应用程序(我们称之为 Application2)。
我有 2 个注册域名,比如说 www.example.com 和 www.example.net。
我想配置当我打开 www.example.com 我得到 默认网站,当我打开 www.example.net 我得到 Default Web Site/Application2。
www.example.com -> Default Web Site
www.example.net -> Default Web Site/Application2
我该怎么做?
【问题讨论】:
标签:
windows
configuration
iis-7
hosting
dns
【解决方案1】:
首先,您需要决定是使用基于名称的托管还是基于 IP 的托管。
IP-Based 使用唯一的 ip 来确定它将服务于哪个虚拟主机,而 Name Based 将实际使用客户端浏览器发送的主机标头。
那么让我们看两个场景:
场景 #1(共享一个 IP)
您的服务器只有一个 IP,可以是私有的也可以是公共的,只要您所服务的域在为您提供内部服务或在外部为您的客户端 (NAT) 服务的 dns 中正确配置。
为了本教程,我建议您停止默认网站。好的。
您将在 II7 中设置一个站点并相应地命名它。转到管理器的右侧并在操作菜单下查找“绑定”;确保在左侧窗格中选择了新站点。现在在“站点绑定”下选择您将在站点之间共享的 IP 地址(基于名称的托管)。在“主机名”下输入域#1“www.example.com”,点击确定。
对其他域或多个域执行上述相同步骤,确保它们具有不同的主机名和相同的 ip。
就是这样。您现在可以同时启动和运行这些站点。
如果您使用“默认站点”,上述原则同样适用。 “默认站点”只是 MS 给默认创建的一个名称。
场景 #2(多个 IP 共享)
如果您有一些私有或公共 ip 可用,或者至少在您进行练习之前,唯一的区别是您将设置站点并且不必为每个站点指定“主机名”,如这基本上是在 DNS 区域本身中完成的。无论如何,这些站点都会响应对端口 80 上这些 IP 的任何请求。
您何时需要使用多个 IP 来服务网站。好吧,这一切都取决于。
一些原因是:网络隔离(安全)、在基于名称的托管下无法正常运行的应用程序、SSL 证书绑定 443(PRE II7) 以及对站点的大部分完全控制。当然还有更多的原因,不过我也让别人写一点。
玩得开心。
【解决方案2】:
编辑...经过进一步调查,我发现如果您可以设置多个站点并同时运行它们。只需在设置主机值后停止和启动站点即可使它们同时运行。
原帖:
执行此操作的直接方法是通过打开 IIS 并右键单击站点然后选择添加网站来添加另一个应用程序。在那里,您可以指定 Application2 的物理路径,并将“主机”设置为“www.example.net”,这将过滤所有对您的第二个站点的请求。任何与“www.example.net”不匹配的请求仍会转到默认网站。
这种方法在使用 IIS 的 Windows Server 上可以正常工作,但在 Vista 的 IIS7 上就行不通了,因为一次只能运行一个站点。要启动第二个站点,您首先必须停止默认网站。