这个问题已被多次提出并回答,但这些答案都没有对我有用。
几天前,我的nativescript应用程序(在Genymotion设备中模拟)完美地连接到我的本地rails服务器( localhost:3000 ),如果我没记错,使用 10.0.3.2:3000/ Genymotion中的v1 / 。
今天我试图让它再次起作用无济于事(
详情:
我试过了:
" 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
答案 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