我有一台带有 IIS 6 的开发机器设置。我在不同的 IP 地址上配置了 3 个网站:
默认(全部未分配)
WS1 (192.168.1.250)
WS2 (192.168.1.249)
我想知道当我在 URL 中指定 localhost 时,IIS 如何确定要访问的站点?这个可以配置吗?如果是这样,我该怎么做?
最佳答案
当 IIS 响应 HTTP 请求时,它使用 3 条信息来确定它应该使用哪个网站来构建响应。
www.foo.com secure.foo.com server1.foo.com subdomain.foo.com server2.subdomain.foo.com
等。 基于你的问题的假设:
1 - 您的机器分配了 3 个 IP 地址:
2 - 您分配给您的机器的第三个 IP 地址是原始 IP 地址。 (这可能是也可能不是,我假设是这样,因为这是大多数人在将 IP 分配给网站时所做的)。
3 - IIS 中的默认网站的 IP 地址设置为:
(All Unassigned)
。4 - 您没有在 IIS 配置中指定任何主机头或端口。
所以,当你在你的机器上运行浏览器时,你输入:
http://localhost
(没有端口号),IIS 做什么?根据之前的回复,浏览器将 localhost 转换为 127.0.0.1 作为 IP 地址,并为该 IP 地址构建 HTTP 请求。主机头将是
localhost
。在这种情况下,IIS 将看到 WS1 和 WS2 没有匹配的 IP 地址,因此将使用默认站点来处理请求。
如果希望WS1或WS2响应该请求,请禁用默认站点并将WS1或WS2的IP地址设置更改为
(All Unassigned)
。
关于iis - IIS 如何确定要访问 localhost 的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028159/