【HarmonyOS 开发】虚拟机无法访问本地服务 Couldn‘t connect to server
问题
在 HarmonyOS 开发过程中,使用
127.0.0.1/localhost
访问本地服务,我们可能会遇到以下问题:本地服务接口可以正常访问,预览器访问接口也可以正常返回数据,但虚拟机启动后访问接口时,却返回以下错误:
复制代码
问题分析
虚拟机与本地服务器的网络隔离
虚拟机实际上是一台独立的虚拟机器,其运行环境与宿主机(本地服务器所在的计算机)是隔离的。由于网络隔离,虚拟机无法直接通过 localhost 或 127.0.0.1 访问宿主机的服务。
这是因为:localhost 或 127.0.0.1 指向当前机器:对于虚拟机来说,localhost 指向的是虚拟机本身,而不是宿主机。
因此,虚拟机访问 localhost 时,无法找到本地服务器。
正确访问宿主机服务的方式
要让虚拟机访问本地服务器,需要通过宿主机在局域网内的私有 IP 地址,而不是通过 localhost 或 127.0.0.1。
解决方案
查询主机在局域网内的私有 IP
Windows 系统
复制代码

Mac 或 Linux 系统
复制代码
评论