自从升级到OSX Yosemite以来,我第一次需要在同一网络上的另一台机器上查看我的机器上运行的应用程序。以前,这就像找到我的内部IP地址并使用端口3000一样简单,例如。 http://192.168.0.111:3000
。
然而,我现在发现Yosemite这不起作用。该应用程序肯定正在运行,可通过localhost:3000
获得,但不能通过我的内部IP。
我运行了网络实用程序端口扫描程序,它显示localhost公开了端口3000,但我的IP没有。网络上尚未升级的其他机器(10.7.5和10.9.5)没有这个问题。
非常感谢任何帮助。
编辑:根据系统首选项的安全和隐私窗格,Yosemite防火墙当前已关闭 - 因此不会导致问题。
答案 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
。