Rails 应用程序对本地网络不可见
Rails application not visible to local network
升级到 OSX Yosemite 后,我第一次需要从同一网络上的另一台机器上 运行ning 查看我机器上的应用程序。以前,这就像找到我的内部 IP 地址并将其与端口 3000 一起使用一样简单,例如。 http://192.168.0.111:3000
.
但是,我现在发现 Yosemite 这不起作用。该应用程序肯定是 运行ning 并且可以通过 localhost:3000
使用,但不能通过我的内部 IP 使用。
我有 运行 网络实用程序端口扫描器,它显示本地主机公开了端口 3000,但我的 IP 没有。网络上其他尚未升级的机器(10.7.5 和 10.9.5)没有这个问题。
如有任何帮助,我们将不胜感激。
编辑:根据系统首选项的安全和隐私窗格,Yosemite 防火墙当前处于关闭状态 - 因此这不会导致问题。
默认情况下,rails server
将只接受来自本地主机的连接。您可以通过查看控制台输出来检查这一点:
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
.
升级到 OSX Yosemite 后,我第一次需要从同一网络上的另一台机器上 运行ning 查看我机器上的应用程序。以前,这就像找到我的内部 IP 地址并将其与端口 3000 一起使用一样简单,例如。 http://192.168.0.111:3000
.
但是,我现在发现 Yosemite 这不起作用。该应用程序肯定是 运行ning 并且可以通过 localhost:3000
使用,但不能通过我的内部 IP 使用。
我有 运行 网络实用程序端口扫描器,它显示本地主机公开了端口 3000,但我的 IP 没有。网络上其他尚未升级的机器(10.7.5 和 10.9.5)没有这个问题。
如有任何帮助,我们将不胜感激。
编辑:根据系统首选项的安全和隐私窗格,Yosemite 防火墙当前处于关闭状态 - 因此这不会导致问题。
默认情况下,rails server
将只接受来自本地主机的连接。您可以通过查看控制台输出来检查这一点:
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
.