无法访问 127.0.0.1

Posted

技术标签:

【中文标题】无法访问 127.0.0.1【英文标题】:Can't access 127.0.0.1 【发布时间】:2016-04-05 05:59:27 【问题描述】:

我不知道这是什么时候开始发生的,但结果是 - 127.0.0.1 无法在任何地方的任何端口上工作(例如,浏览器显示无法连接)。以下是我的研究结果:

    localhost、COMPUTER_NAME 和实际 IP 地址都可以正常工作 我的 hosts 文件中没有什么特别之处 ping 到 127.0.0.1,tracert 工作正常 硬编码了 127.0.0.1 的所有程序都无法运行(这一点让我最失望,因为在这种情况下我什么都做不了)

我还能做些什么来找出问题的根源并解决它?

更新:一旦 Redis 在 127.0.0.1 上工作并且 IIS 和 AzureStorageEmulator 都不能工作,我认为这只是 HTTP 的问题。

【问题讨论】:

所以localhost 工作正常,但127.0.0.1 不行?你在hosts file中修改了什么吗? 正确。我尝试了使用主机文件可以做的所有事情,但没有帮助。我猜是因为127.0.0.1不是域名,但是ip地址所以hosts文件不影响。 你能解释一下你所说的“工作”是什么意思吗?你期望发生什么?你有在本地机器上运行的服务器吗?在哪个港口? 我的意思是使用127.0.0.1时无法建立连接。例如,我运行 IIS 并且可以使用 localhost 访问站点,当我运行 azure 模拟器时,我也可以使用 localhost 访问它(尝试了不同的端口,但它们并不重要)。但我无法使用 127.0.0.1 连接到他们。 【参考方案1】:

如果是 DNS 问题,您可以尝试:

ipconfig /flushdns ipconfig /registerdns

如果这不能解决问题,您可以尝试编辑位于此处的主机文件:

C:\Windows\System32\drivers\etc\hosts

并确保该行(并且没有其他引用 localhost 的行)在其中:

127.0.0.1 localhost

【讨论】:

dns 刷新没有帮助。 hosts 文件中的行不会改变任何内容。此外,如果我将除 localhost 之外的任何其他名称映射到 127.0.0.1 它也不起作用。 您是否尝试过 ping 127.0.0.1 以查看是否有任何响应? 抱歉,错过了。究竟哪些“程序”不起作用?是否仅在您的网络浏览器中(我知道您在上面提到过)?不管我会说尝试清除浏览器缓存和浏览器 dns。 好问题。刚刚检查了 redis,它确实在 127.0.0.1 上工作。我猜是因为它不使用http,而是特殊的协议RESP。现在将更新问题。对于第二部分,这不是浏览器问题,Fiddler(用于 IIS)和 Visual Studio Server Explorer(用于 azure 模拟器)都无法连接到 127.0.0.1。 您能否查看有关列出与服务绑定的 ip/port 的信息?它列在这个问题serverfault.com/questions/558204/…【参考方案2】:

只有一个命令完成了这项工作

netsh http 添加 iplisten 127.0.0.1

【讨论】:

谢谢!只想指出这个命令的文档msdn.microsoft.com/en-us/library/windows/desktop/… 在寻找答案一整天后解决了我的问题。谢谢 我想知道127.0.0.1是怎么停止监听的?哪个应用程序在我不知情的情况下进行了此配置。这在我安装 Docker 之前就可以工作,尽管我已经卸载了它,但它并没有恢复。所以我不知道是不是罪魁祸首。 由于某种原因,当我这样做时,我所有的 IIS 站点都停止工作了【参考方案3】:

如果万维网发布服务正在运行,请首先在 windows 下检查服务。如果不启动它。

如果你找不到它打开windows的IIS功能:在7,8,10 它在控制面板下,“打开或关闭Windows功能”。 互联网信息服务 万维网服务和 需要 Internet 信息服务 Hostable Core。 不确定是否有另一种方法可以让它在 Windows 上运行,但这适用于所有浏览器。 您可能还需要在 IE 设置下将 localhost 或 http:/127.0.0.1 添加到受信任的网站。

【讨论】:

【参考方案4】:

我遇到了类似的问题。检查您的监听端口。 我之前犯的一个错误是

app.listen(() => console.log(APP_NAME is listening on port $PORT`))

确保包含如下所示的端口

app.listen(PORT, () =>
  console.log(`$APP_NAME is listening on port $PORT`)
)

【讨论】:

【参考方案5】:

这个答案可能看起来过于明显,但在大多数情况下,只需删除“主机名”字段中的“localhost”条目就足够了:

【讨论】:

以上是关于无法访问 127.0.0.1的主要内容,如果未能解决你的问题,请参考以下文章

linux 配置防火墙导致内网127.0.0.1也无法访问了,该怎么解决?

openrefine build成功之后,访问127.0.0.1:3333无法访问,为啥

wampserver 中127.0.0.1可以访问,但localhost无法访问

server.listen(port, '127.0.0.1') 无法访问容器化节点服务器

我无法在网络浏览器中访问 127.0.0.1/phpmyadmin

无法在 wamp 中访问 localhost 或 127.0.0.1