IIS 中的多个网站指向同一个 IP。 IIS 如何映射到正确的网站?

Multiple websites in IIS pointing to same IP. How does IIS map to correct website?

我在 IIS 中创建了两个测试网站。一个叫做 testapp.com,另一个叫做另一个 testapp.com。

在我的主机文件中,testapp.com 和另一个testapp.com 都指向 127.0.0.1

这两个应用程序都可以在浏览器中完美加载并显示各自的内容。

但问题是,IIS 如何知道 testapp.com 不同于另一个 testapp.com。我的意思是,当我在浏览器中输入两个不同的域时,它们实际上都指向同一个 IP (127.0.0.1),IIS 如何将其正确映射到两个不同的网站?

当您的浏览器加载网页时,它发送的请求 header 之一是您输入的域名文本。这就是 "Host" 请求 header . IIS 使用此 header 的值来选择哪个网站将满足您的请求。 IIS 网站上的 "bindings" 允许您配置其主机 headers。

这是另一个更详细地解释 "Host" header 的问题: What is http host header?