none
关于IIS 主机头以及端口80的疑惑 RRS feed

  • 问题

  • 今天在配置网站的时候发现个疑惑(IIS6.0)

    在一台服务器上(比如IP 60.152.63.20)
    我配置
    网站一: 端口默认 80  主机头为 test1.web.com
    网站二: 端口默认 80  主机头为 test2.web.com

    情况描述
    我访问test1.web.com,在本地把hosts指向 60.152.63.20   test1.web.com,可以访问到 test1.web.com 页面
    我访问test2.web.com,在本地把hosts指向 60.152.63.20   test2.web.com,可以访问到 test2.web.com 页面

    当我访问http://60.152.63.20/login.aspx 时
    错误信息:

    • 如果您认为该目录应该允许执行访问权限,请与网站管理员联系。

    HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。

    问题一:
    这就奇怪了.我在IIS 里配了两个网站 test1和test2,可是他们除了主机头指向和网站内容不一样.
    其他 IP,端口,以及login.aspx页面。都是一样的。为什么我可以做到访问test1的时候出现test1,访问test2的时候出现test2呢。?

    问题二:
    因为我用的并不是DNS服务器配置 域名,而只是在本地加了个解析,为什么我访问 域名可以访问网站,反而IP不可以呢。
    我的理解.当我输入test1.web.com时,在本地已经解析成IP地址 60.152.63.20  再去服务器端以IP进行请求.所以我想不通 为什么 直接输入IP会出错
    谢谢大家。^_^

    2009年7月20日 7:21

答案

  • 您好,IIS为了提供支持一个IP支持多个域名的功能,增加了主机头。
    所以一个域名解析到正确的网站实际上是由3部分来确定的:IP地址,端口和主机头。
    当没有配置主机头时,因IP和站点一对一,这时候无论是输入域名还是IP都能解析到正确的网站。
    当设置了主体头支持多个域名时,IP和站点已是一对多,这个时候通过IP来访问,IIS已不知道要对应到哪个网站了。故无法访问。而用域名来访问,不仅是依靠IP和端口,IIS还会验证是否主机头对应,从而指向正确的网站。
    • 已标记为答案 Lich_gbc 2009年7月20日 8:27
    2009年7月20日 8:22

全部回复

  • 您好,IIS为了提供支持一个IP支持多个域名的功能,增加了主机头。
    所以一个域名解析到正确的网站实际上是由3部分来确定的:IP地址,端口和主机头。
    当没有配置主机头时,因IP和站点一对一,这时候无论是输入域名还是IP都能解析到正确的网站。
    当设置了主体头支持多个域名时,IP和站点已是一对多,这个时候通过IP来访问,IIS已不知道要对应到哪个网站了。故无法访问。而用域名来访问,不仅是依靠IP和端口,IIS还会验证是否主机头对应,从而指向正确的网站。
    • 已标记为答案 Lich_gbc 2009年7月20日 8:27
    2009年7月20日 8:22
  • 这样解释 好象能行的通.^_^

    2009年7月20日 8:29
  • 哈,多说一句:
    当输入:http://60.152.63.20/login.aspx 隐含的语义是 IP地址: 60.152.63.20 和端口 80
    当输入:http://test1.web.com 隐含的语义是 主机头:test1.web.com、IP地址: 60.152.63.20 和端口 80

    2009年7月20日 8:33
  • 谢了。呵

    2009年7月20日 8:38