无法将本地IP地址映射到localhost

时间:2015-12-04 21:14:53

标签: android macos ruby-on-rails-4 osx-elcapitan

我有2个申请:

  • 在我的Mac上运行 rails api ,如下所示:rails s
  • 一个 Android客户端应用与mi phone的rails api交谈

嗯,应用还没有说话......

我正在尝试从设备中执行POSThttp://192.168.1.34:3000/api/uploads,但我在Chrome上获得了ERR_CONNECTION_REFUSED

因此,我尝试从计算机执行相同的请求,并返回相同的ERR_CONNECTION_REFUSED

当我执行http://localhost:3000/api/uploads时,从计算机上运行正常。

所以,我认为本地ip没有映射到localhost。我怎么能这样做?

我正在使用:

  • OSX El Capitan 10.11.1
  • Google Chorem Version 48.0.2564.23 beta (64-bit)

这就是我的/etc/hosts文件的样子:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       leansmac
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

ping它也有效:

ping 192.168.1.34                                                                                                               
PING 192.168.1.34 (192.168.1.34): 56 data bytes
64 bytes from 192.168.1.34: icmp_seq=0 ttl=64 time=0.091 ms
64 bytes from 192.168.1.34: icmp_seq=1 ttl=64 time=0.070 ms
64 bytes from 192.168.1.34: icmp_seq=2 ttl=64 time=0.138 ms
  

mac和手机连接到同一个wifi

1 个答案:

答案 0 :(得分:2)

我认为这是一个问题,Rails不接受来自外部的连接,除了localhost。

请尝试以下方法:

Allow public connections to local Ruby on Rails Development Server

  

最简单的方法不需要额外安装:只需在启动服务器时向rails server(或rails s)命令添加一个选项:

rails s --binding=0.0.0.0
  

0.0.0.0地址的意思是“从任何地方收听请求”。在许多系统上,默认值为127.0.0.1,这意味着“仅侦听来自localhost的请求”。   (如果你还没有指定-p或--port选项,那么端口应该像往常一样是3000。)