为什么我可以浏览到本地主机,而不能浏览到我的计算机名称?(IIS7)

为什么我可以浏览到本地主机,而不能浏览到我的计算机名称?(IIS7)

我不太了解 IIS,但我正在尝试做一些我认为相当简单的事情。

我所做的只是通过 IIS 向网站添加绑定。然后我通过删除绑定撤消了我的更改。

在 IE 中,如果我浏览到http://本地主机:80之后,我看到了一张漂亮的图片,上面有一堆欢迎信息和一个大大的“IIS7”,感谢微软的图形设计师。

如果我浏览到http://我的计算机名称:80,我得到的是 404。

如果我浏览本地主机上的任何其他虚拟目录,都会出现 404。

知道如何修复它吗?

答案1

符合 HTTP/1.1 的 Web 浏览器会在每次请求时发送一​​个名为“Host”的 HTTP 标头,以告知服务器它们从哪个名称请求资源 - 这允许服务器通过同一个 IP 地址托管多个独立的站点。

正因为如此,现代 Web 服务器具有一种内置功能,可以根据“主机”标头的内容将对不同主机的请求视为进入完全不同的站点。

在您的情况下,计算机的名称成功解析到您的本地系统(它解析为哪个地址取决于您的网络配置),这从 IIS 生成的 404 响应中可以明显看出,但 IIS 并未将请求映射到您期望的站点。

问题出在您的 IIS 绑定配置中。您的问题有以下三种可能:

  • 所需站点上的绑定未设置为正确的主机名。它可能仅设置为localhost,而请求传入的标头为mycomputername
  • 绑定未设置为正确的 IP 地址。它可能仅设置为127.0.0.1,而名称解析过程可能会将名称解析为绑定地址。
  • 即使所需站点的绑定匹配,另一个站点也会收到请求,因为它具有更适用的绑定。例如,如果您所需的站点已绑定到给定端口上的所有地址,而另一个站点的同一端口已绑定到更具体的地址,则它将代替您收到请求。

答案2

您可以通过 hosts 文件或在 IIS 管理器中添加主机头来执行此操作。

您的 IIS 仅查看特定 IP 地址。转到 IIS 管理器,然后转到网站上的属性。然后,从“网站”选项卡转到属性。

为该主机标头值添加一个标识。

答案3

您可以编辑您的c:\windows\system32\drivers\etc\hosts文件..添加

127.0.0.1 mycomputername

并尝试。

答案4

你应该在 hosts 文件中添加你的计算机名称

C:\Windows\System32\drivers\etc

之后 IIS 将正确解析它

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       computername

相关内容