Rails应用程序对本地网络不可见

时间:2015-03-18 21:08:53

标签: ruby-on-rails osx-yosemite

自从升级到OSX Yosemite以来,我第一次需要在同一网络上的另一台机器上查看我的机器上运行的应用程序。以前,这就像找到我的内部IP地址并使用端口3000一样简单,例如。 http://192.168.0.111:3000

然而,我现在发现Yosemite这不起作用。该应用程序肯定正在运行,可通过localhost:3000获得,但不能通过我的内部IP。

我运行了网络实用程序端口扫描程序,它显示localhost公开了端口3000,但我的IP没有。网络上尚未升级的其他机器(10.7.5和10.9.5)没有这个问题。

非常感谢任何帮助。

编辑:根据系统首选项的安全和隐私窗格,Yosemite防火墙当前已关闭 - 因此不会导致问题。

1 个答案:

答案 0 :(得分:48)

默认情况下,rails server仅接受来自localhost的连接。您可以通过查看控制台输出来检查:

Listening on localhost:3000, CTRL+C to stop

要侦听所有允许您从本地网络上的其他计算机进行连接的地址,您必须显式绑定到更宽松的地址。试试这个:

rails server --binding=0.0.0.0

您现在应该看到:

Listening on 0.0.0.0:3000, CTRL+C to stop

现在,您可以从本地网络上的其他位置连接到您的Rails应用,方法是浏览到http://192.168.0.111:3000