Windows的http:// localhost:4200正在与WSL2的ng服务配合使用,为什么呢?

时间:2020-10-22 02:02:23

标签: angular windows tomcat wsl-2

当我从WSL2(Ubuntu 20.04)运行“ ng serve”时,我可以通过浏览到http:// localhost:4200从Windows 10主机访问angular应用程序。

有人可以解释这是怎么可能的吗?我知道WSL2正在作为具有自己IP地址的虚拟机。 Windows 10主机如何使用“ http:// localhost:4200”访问WSL2上的angular应用程序?

另一方面,当我从WSL2运行tomcat时,无法使用“ http:// localhost:8080”从Windows访问tomcat应用程序。

预先感谢 保罗

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题:默认的 React 服务器运行良好,但 Tomcat 服务器即使运行在同一端口上也不会。 Dudi Boy's answer 建议在较旧的 WSL 版本上使用特定 IP,但这对我没有太大帮助,因为我使用的是较新版本。但是,他的链接包含另一个有用的建议

<块引用>

通过远程 IP 地址连接

当使用远程 IP 地址连接到您的应用程序时,它们将被视为来自 局域网 (LAN)。这意味着您需要制作 确保您的应用程序可以接受 LAN 连接。

例如,您可能需要将您的应用程序绑定到 0.0.0.0 而不是 127.0.0.1。在使用 Flask 的 Python 应用程序示例中, 这可以通过以下命令完成:app.run(host='0.0.0.0')。请 在进行这些更改时请记住安全性,因为这将允许 来自 LAN 的连接。

果然,当我让我的服务器在 0.0.0.0 而不是 127.0.0.1 上运行时,它起作用了!

答案 1 :(得分:0)

Microsoft.Azure.Cosmos.Table取决于Windows 10版本的假设。

也请阅读此article。它说明了原因和方式。

从Windows(本地主机)访问Linux网络应用程序

如果您要构建联网应用程序(例如,在 Linux发行版中的NodeJS或SQL服务器),则可以访问它 从Windows应用(例如Edge或Chrome互联网浏览器)使用 本地主机(就像通常一样)。

但是,如果您运行的是Windows的旧版本(内部版本18945 或更少),则需要获取Linux主机VM的IP地址(或 更新到最新的Windows版本。

相关问题