我在Windows 7上运行了一个xUbuntu(14.04)virtualBox(4.3.15)服务器。我在服务器上有两个站点,当我为任一应用程序运行rails server时,可以在localhost:3000内部访问它而不会出现问题。但是,当我从[virtualbox ip]:3000上的Windows机器上的浏览器外部访问一个应用程序时,该站点呈现没有问题,另一个显示“无法连接”。另外我可以ping [virtualbox ip]:3000用于一个站点,但另一个站点没有响应。只要[virtualbox ip]可以在任一站点运行rails服务器时成功ping通。
这两个站点都是Rails 4.2.0.rc2,Ruby 2.0.0和WEBrick 1.3.1。
是否需要专门设置某些内容才能使第二个网站正常工作?
无法找到可能导致问题的两者之间的任何差异。
答案 0 :(得分:2)
能够确定问题所在。一个应用程序从http://0.0.0.0:3000
开始,据我所知,它正在监听所有界面,而另一个应用程序从http://localhost:3000
开始。因此,localhost应用程序不会侦听外部请求。解决方案是使用以下命令启动rails服务器。
rails server -b 0.0.0.0
这会将应用程序绑定到0.0.0.0的ip地址,现在我可以使用[vm ip address]:3000作为URL来访问我的virtualbox xUbuntu实例外部。