从Genymotion(Virtualbox)连接到localhost

时间:2016-06-21 08:26:26

标签: virtualbox genymotion nativescript

这个问题已被多次提出并回答,但这些答案都没有对我有用。

几天前,我的nativescript应用程序(在Genymotion设备中模拟)完美地连接到我的本地rails服务器( localhost:3000 ),如果我没记错,使用 10.0.3.2:3000/ Genymotion中的v1 /

今天我试图让它再次起作用无济于事(

详情:

  • 我的Genymotion设备位于 192.168.56.101
  • 我的 ifconfig vboxnet0 表示 192.168.56.1

我试过了:

  • 这些IP因为很多人。在各种帖子中提及它们

" http://10.0.2.2"," http://10.0.2.2:3000"," http://10.0.3.2"," { {3}}"," http://10.0.3.2:3000"," http://10.0.3.2:8080"," http://10.0.3.3" ," http://10.0.3.3:3000"," http://192.168.56.1:3000"

  • 将我的虚拟机实例网络从Host-only置于NAT模式无法帮助

  • 将虚拟机网络置于桥接模式(混杂模式)。

我尝试获取这些IP时得到的是 TypeError:网络请求失败

如果我尝试抓取类似google.com的内容,我会得到回复,所以我猜虚拟网络模式错误或我的Mac有一些防火墙我不知道

修改

我应该早点提到它,但我忘记了。我在我的机器上运行nginx用于其他一些项目

如果nginx为OFF,我会收到TypeError:所有IP的网络请求都失败

如果我打开nginx,我会从以下IP获取 502 Bad gateway

" http://192.168.56.1"," http://10.0.3.2"," http://10.0.3.3"," { {3}}"," http://10.0.3.2:8080"

但是,在端口3000上运行的我的rails服务器没有收到任何请求。请注意,我确实尝试在端口3000千元上击中所有上述内容,两者都是nginx ON和OFF。

编辑2

固定

我的案例中的整个问题来自我的PUMA服务器,由于新版本的某些更改不再监听0.0.0.0(所有接口),而是localhost和127.0.0.1。这就是主机上的localhost可以工作的原因,而且来自虚拟机(Geny。)不会

TL; DR;

如果您使用的是Puma服务器且无法从其他计算机连接到localhost,请使用以下命令启动rails服务器:

rails server -b 0.0.0.0

1 个答案:

答案 0 :(得分:0)

我的案例中的整个问题来自我的PUMA服务器,由于新版本的某些更改不再监听0.0.0.0(所有接口),而是localhost和127.0.0.1。这就是主机上的localhost可以工作的原因,而且来自虚拟机(Geny。)不会

TL; DR;

如果您使用的是Puma服务器且无法从其他计算机连接到localhost,请使用以下命令启动rails服务器:

rails server -b 0.0.0.0