IIS多个站点绑定和主机配置

时间:2018-07-05 10:09:58

标签: iis binding iis-7.5 hosts

我试图将多个网站配置为在运行IIS 7.5的同一服务器上运行。但是,我在从网络上的计算机访问第二个网站时遇到问题,但是我不知道正确的配置是什么。

默认网站在本地和远程均可运行。即如果我在服务器上键入localhost,那么它将起作用;如果我从另一台计算机上键入服务器的IP地址,它将也起作用。

它具有以下绑定设置:

- IP address: All unassigned 
- Port: 80
- Host name: blank 

但是,第二个网站(称为“ testapp”)仅在本地运行。即当我在服务器上时,可以通过输入绑定主机名来访问它,但是当我尝试通过另一台计算机通过输入“ ip address / TestApp /”来访问它时,可以访问它。它返回404-找不到文件或目录错误。

它具有以下设置:

- IP address: All unassigned 
- Port: 80
- Host name: testapp

和主机文件中的条目

- 127.0.0.1     testapp

我知道我可能只是缺少一些简单的东西,但是任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

"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窗口中键入以下两行,然后输入空白行:

GET /TestApp/ HTTP/1.1
host: testapp

您应该看到该URL返回的HTML。如果您尝试上述操作,但省略了host,则会从默认网站(或404页面等)获取HTML