本地主机无法工作并在不同网络上运行?

问题描述 投票:0回答:3

概述

  • Win 10 专业版,64 位
  • 静态服务器从本地主机工作
  • 所有其他 Node.js 服务器停止在 localhost,127.0.0.1 上工作,并且仅在 172.16.xxx.xxx 主机上工作

从源代码中我可以看到静态服务器主机是0.0.0.0,与我的相同。我在 0.0.0.0 上运行我的服务器https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

这一切突然发生在我的 Windows 机器和几个带有 webpack 的 Web 应用程序上。我重新安装了windows,问题依然存在。

我与主机一起使用

WebpackDevServer
0.0.0.0

详情

我正在安装了一些 VPN 的全新 Win 10 上运行。

所以我有这 3 个应用程序

  • 主机 0.0.0.0:9080 上的 webpack-app
  • 端口 9080 上的静态服务器(也应该是本地主机)
  • webpack-app 与端口 3000 上的 React-create-app

我在端口 9080 上启动 webpack-app,然后打开浏览器并显示“无法访问此站点,localhost 拒绝连接”。 (我 100% 确定在 9080 上运行,因为我所有的 webpack 应用程序都立即停止工作)

我现在启动静态服务器并在端口 9080 上运行,完全没有抱怨!现在我转到浏览器,它会在端口 9080 上打开页面。

所以现在我认为我正在两个不同的网络上运行。这是它在 Windows 中的样子:

现在我看看是否有人正在监听端口 9080,我看到了这个:

我关闭静态服务器,它就消失了。意味着静态服务器正确显示在那里。

那里也没有其他node.exe进程。那么我的 webpack 应用程序最终去了哪里?

一段时间后,端口 3000 上会弹出一些内容

不知道为什么同一个端口上有这么多,我访问该网址并且它有效。但在 localhost:3000 上不起作用。

发生什么事了?为什么它不再能从本地主机工作?

node.js windows-10 create-react-app
3个回答
0
投票

如果您使用适用于 Linux 的 Windows 子系统,尤其是 WSL2,请记住它在具有虚拟 NIC 的 Hyper-V 虚拟机中运行。换句话说,它创建了自己的虚拟网络。

根据WSL2常见问题解答

新架构使用虚拟化网络组件。这 意味着在初始预览版本中,WSL 2 的行为将更加相似 到虚拟机,例如:WSL 2 将具有与以下不同的 IP 地址 主机。我们致力于让 WSL 2 感觉与 WSL 1,其中包括改进我们的网络故事。

因此,开发服务器将在不同于 127.0.0.1(又名 localhost)的地址上运行。这就是为什么从浏览器调用 localhost 时会返回连接拒绝错误的原因。

这里是微软建议的一个可能的解决方案。


0
投票

遇到了与上面相同的问题。清除了我的浏览器数据和缓存,它就像魅力一样!!


-1
投票

非常奇怪的是,重新启动几次后它就可以工作了。我的 Node.js 服务器侦听 0.0.0.0 而不是 172.xxx.xxx.xxx。我真的很困惑为什么它现在有效以及为什么以前不起作用。如果有人能弄清楚那就太好了。谢谢大家的帮助。

编辑:再次发生,我这样修复:我禁用了所有 docker 和expressvpn 应用程序以在 Windows 启动时启动并重新启动我的电脑,现在可以使用了。

编辑2:再次发生,我通过关闭express vpn并禁用我的wifi来修复。我只使用有线以太网电缆。这次不需要重新启动。

我认为我的 Windows 机器出现了问题。不知道为什么会有网络。

© www.soinside.com 2019 - 2024. All rights reserved.