我有一个 Vagrant VM,其中安装了 Rails 和示例应用程序。 VM 配置为将(Rails Webrick 服务器的)端口 3000 转发到我的主机 3000 端口。
config.vm.network "forwarded_port", guest: 3000, host: 3000
一切都按照许多示例中的配置进行配置。
但是,当我尝试访问 http://localhost:3000
时,没有任何反应。我还尝试转发到其他随机端口,例如 8081、25600,但没有成功。执行curl请求也不会得到任何东西(只是由对等方重置连接消息),并且VM内的curl请求完美地工作(如预期)。
我的电脑和虚拟机都运行 Ubuntu 12.04。我正在使用 Ruby 2.2.0 和 Rails 4.2.0。
重要的一点是Apache工作正常。我将端口 80 转发到端口 8080,一切正常。看来问题只是出在 Rails 服务器上,即使我使用其他端口(例如 rails server -p 4000
)
请您参考如下方法:
Rails 4.2 现在默认绑定(bind)到 127.0.0.1
,而不是 0.0.0.0
。
使用 bin/rails server -b 0.0.0.0
启动服务器,这样就可以对其进行排序。