我正在尝试将多个网站配置为在运行IIS 7.5的同一台服务器上运行。 但是,我在从网络上的计算机访问第二个网站时遇到问题,但我不知道正确的配置应该是什么。
默认网站在本地和远程工作。 即,如果我在服务器上输入本地主机,那么它将工作,如果我从另一台计算机输入服务器的 IP 地址,它也可以工作。
它具有以下绑定设置:
- IP address: All unassigned
- Port: 80
- Host name: blank
但是,第二个网站(称为"testapp"(只能在本地工作。 即,当我在服务器上时,我可以通过输入它的绑定主机名来访问它,但是当我尝试通过输入"IP 地址/TestApp/"从另一台计算机访问它时。它返回 404 - 找不到文件或目录错误。
它具有以下设置:
- IP address: All unassigned
- Port: 80
- Host name: testapp
和主机文件中的条目
- 127.0.0.1 testapp
我知道我可能只是错过了一些简单的东西,但任何帮助将不胜感激!
"ip address/TestApp/"
会将流量发送到默认网站(它也将从托管TestApp
的服务器执行此操作(。你需要设置 DNS,以便你的客户端可以使用主机名来解析 IP,或者如果你没有 DNS 服务,命名绑定可以按预期工作,则可以在连接的每台计算机上添加一个主机文件。
"底层"当浏览器发送HTTP请求(即键入URL/单击链接(时,域名以HOST
HTTP标头发送,IIS使用此标头来确定发送哪个站点(即绑定(流量。使用 IP 时,您不提供主机名,因此不会发送HOST
标头,因此 IIS 会将流量路由到默认站点(即未指定主机名的绑定(。
您可以通过启动 Telnet 并向您的服务器 IP 地址(来自本地主机或其他主机(发出 HTTP 请求并包含您应该获得预期响应的 HOST 标头来查看此操作。(这不是非常有用 - 这通常由您的浏览器完成 - 但它可能会让您深入了解真正发生的事情......
使用telnet 192.168.1.2 80"
启动 Telnet(更改服务器的 IP(,然后在 telnet 窗口中复制/粘贴或键入以下 2 行,然后是空行:
GET /TestApp/ HTTP/1.1
host: testapp
您应该会看到从该 URL 返回的 HTML。如果您尝试上述操作,但省略host
,您将从默认网站(或 404 页面等(获取 HTML