为什么在 Windows 中“localhost”连接被重置,而 127.0.0.1 和“hosts”文件中指定的其他文件可以工作?

为什么在 Windows 中“localhost”连接被重置,而 127.0.0.1 和“hosts”文件中指定的其他文件可以工作?

我想在 Windows(XP)下的本地主机地址上测试一些 HTTP 服务器,但出现了奇怪的行为:当我输入http://本地主机/在我的浏览器中,我收到连接重置错误,同时http://127.0.0.1/或者在“hosts”文件中映射到该地址的任何其他内容都可以正常工作,并且会显示起始页。

我关闭了一些我怀疑的进程,禁用了防火墙,但没用。一会儿,“localhost”又回来了,然后又无缘无故地消失了。我如何才能追踪 Windows 下干扰 localhost 地址的因素?

编辑1:
这是我的“hosts”文件:

127.0.0.1       localhost
127.0.0.1       moin

'moin' 条目工作正常,'localhost' 已重置。HTTP 服务器是 play! 框架,我必须使用它的方式是'http://localhost:9000/@tests“”。

编辑2:
ping 响应表明'localhost'解析为 IPv6 ::1 地址:

C:\> ping localhost

Checking IZABELA [::1] using 32 bytes of data:

Response from ::1: time<1 ms
Response from ::1: time<1 ms
Response from ::1: time<1 ms
Response from ::1: time<1 ms
...

答案1

这是因为您localhost的网络适配器传递了该信息(请注意,LMHOSTS在高级配置中,这实际上会打开和关闭 HOSTS 文件的处理),并且您的网络适配器可以对其进行一些额外的操作。如果您访问,127.0.0.1则它会直接转到环回适配器,至于其他条目,您的网络适配器可能只是选择转发它们而不是处理它们(例如条目localhost)。您可以route PRINT在命令提示符中使用以下命令获取路由信息:

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.100    281 <--
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306 <==
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306 <==
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306 <==
      192.168.1.0    255.255.255.0         On-link     192.168.1.100    281
    192.168.1.100  255.255.255.255         On-link     192.168.1.100    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.100    281
     192.168.11.0    255.255.255.0         On-link      192.168.11.1    276
     192.168.11.1  255.255.255.255         On-link      192.168.11.1    276
   192.168.11.255  255.255.255.255         On-link      192.168.11.1    276
     192.168.40.0    255.255.255.0         On-link      192.168.40.1    276
     192.168.40.1  255.255.255.255         On-link      192.168.40.1    276
   192.168.40.255  255.255.255.255         On-link      192.168.40.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.40.1    276
        224.0.0.0        240.0.0.0         On-link      192.168.11.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.1.100    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.40.1    276
  255.255.255.255  255.255.255.255         On-link      192.168.11.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.1.100    281

<==注意我在最后设置的位置,这些确保127.0.0.1当你访问环回地址

<--请注意,我在末尾设置的0.0.0.0是任何 IP,它们确保诸如localhost您转发的任何其他内容以及您访问的大多数 IP 都由使用接口和网关HOSTS的网络适配器处理。192.168.1.100192.168.1.1

指标越高,优先级越高,这就是为什么<==优先于 的原因<--

更多信息请访问子网了解网络掩码。


至于你的问题:

  • 检查您的 IIS/Apache 配置。
  • 禁用您的防病毒软件和防火墙。
  • 重置您的网络适配器,看看是否能解决问题。
  • 使用该Troubleshoot Problems选项看看它是否可以解决问题。
  • 用于ipconfig /flushdns清除DNS解析。
  • 看看你能得到什么ping localhost
  • 尝试禁用 IPv6。
  • 更新网络适配器的驱动程序。

如果问题仍然存在,请报告,你可能需要捕获Wireshark 跟踪

相关内容