从不同的计算机访问Rails开发服务器

26

我正在使用webrick在Mac OS X Lion上开发我的rails应用程序。 我正在尝试从另一台计算机(进行测试)访问该站点。 我的计算机的内部IP是10.1.10.100。

访问10.1.10.100会显示由运行在我的计算机上的apache服务器提供的页面。

从我的计算机和同一网络中的另一台计算机上访问10.1.10.100:3000会超时。 我可以ping 10.1.10.100。 从我的计算机上,localhost:3000可以显示应用程序。

是否需要在Mac OS X上打开防火墙或应用其他设置?

谢谢


另一篇相关帖子 - Arup Rakshit
1个回答

50

在启动webrick服务器时,使用-b选项指定你的rails应用程序将在哪个IP上运行(在你的情况下为10.1.10.100),它将把Rails绑定到指定的IP地址。

rails server -b 10.1.10.100 -p 3000

如果你正在使用Rails 2,将"rails server"替换为"ruby script/server"。 - Kumar Akarsh
奇怪的是,这也适用于thin,即使端口没有明确设置,netstat显示它在所有接口(“*”)上侦听,nmap显示它已打开,但它没有响应。 - jwadsack
@Akarsh,这对我有用,谢谢!顺便说一下,我已经使用rails s进行开发一段时间了,我总是能够使用机器IP在同一网络中访问我的应用程序。你知道为什么现在需要这个吗?也许是因为不同的机器配置? - Mário Carvalho
3
不必每次都输入IP地址,可以使用类似这样的命令:rails s -b $(ipconfig getifaddr en0) (只需检查en0是否真的是您的接口名称,我基于此发表了评论:http://osxdaily.com/2010/11/21/find-ip-address-mac/)。 - Rafał Cieślak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接