如何在一台 IIS6 服务器上托管多个域/网站

如何在一台 IIS6 服务器上托管多个域/网站

我目前有一台 IIS6 服务器,用于托管一个网站/域名。我正在开发另一个网站(完全独立),希望将其托管在同一台服务器上。两个域名都是从 GoDaddy 购买的。

我认为我需要一个服务器端 ISAPI 重写过滤器,以便根据域名内部路由传入的请求。我计划使用Ionic 的 ISAPI 重写过滤器这样做是因为它是免费的。我知道如何安装 ISAPI 筛选器并将其应用于 IIS 中的网站,但我不知道如何正确路由传入的请求(基于域)。

另外,我不知道设置多个“网站”或“虚拟目录”是否明智。我认为这取决于如何配置。

我该如何完成这个任务?

答案1

您根本不需要重写规则,您确实需要设置新的网站配置。 IIS 6 可以通过使用新 IP 地址(因此服务器有多个 IP 地址)或使用主机标头将域链接到网站配置来区分网站。

尝试从这里开始:在单个服务器上托管多个网站(IIS 6.0)使用主机头在 IIS 6.0 上托管多个网站

答案2

我认为这里没有问题。 IIS 6 可以托管数百个网站 - 即使在同一个 IP 地址上(除了 https,您需要一个专用的 IP 地址) - 通过主机头(域名)区分它们。

阅读此 Microsoft 支持文章:如何使用主机头名称在 Internet Information Services 6.0 中配置多个网站

Microsoft Internet 信息服务 (IIS) 允许您使用名为“主机标头名称”的功能将多个具有相同端口号的网站映射到一个 IP 地址。通过为每个网站分配唯一的主机标头名称,此功能允许您将多个网站映射到一个 IP 地址。

我认为 Ionic 的 ISAPIRewrite 过滤器适用于网站,每个网站都有自己的定义文件。我在我的 IIS 服务器上使用类似的过滤器 (ISAPI Rewrite),服务器上有许多网站,没有任何问题。

答案3

您只需要查找主机标头。只要主机标头不同,多个站点就可以共享同一端口。转到站点的属性,在 IP 地址绑定下拉菜单旁边的“高级”按钮下,您可以编辑站点的端口和主机标头。

没有比这更戏剧性的了。;)

答案4

除了大家的回答之外,我在配置 IIS 以用于简单的本地测试环境时遇到了一些问题。问题是:它不能像我们希望的那样自行完成。

所以收集其他人在这里说的话,我认为最好的方法是多个 IIS 站点正在使用主机头名称那就是很容易设置(感谢 Moo 提供的链接)。在 IIS 6 上,如果您已经创建了网站,则只需转到“绑定”。易于在谷歌上查找参考资料为了那个原因。

较旧的 IIS

替代文本

微软 IIS 6 新功能

替代文本

然后我需要设置 hosts 文件。对于 1 个站点来说,这很简单,但对于多个站点来说,这有点困难,这就是为什么我们希望能够在 IIS 上做到这一点。没有这样的运气。自己动手

主办方

替代文本

当然,这就是大家已经说过的了,只是在 DNS 上执行这些操作肯定更好……但这对于本地测试来说已经足够了,我认为应该在 IIS 中内置一个选项来执行此操作。

相关内容