无法使用Vagrant转发端口访问主机上的Sinatra应用程序

ruby app.rbforeman start我的Sinatra应用程序后,我无法使用localhost和主机上的相应端口访问我的应用程序。 我也能够从客户机上的shell中curl应用程序,而在主机上curl请求失败。 据我所知,客人机器上不应该有防火墙,因为我使用的是Vagrant Ubuntu镜像。

我的stream浪文件如下:

 Vagrant.configure('2') do |config| config.vm.box = 'precise32' config.vm.box_url = 'http://files.vagrantup.com/precise32.box' config.vm.network :forwarded_port, guest: 4567, host: 4567 end 

默认情况下,在开发模式下运行时, Sinatra只监听本地主机 ,而不是0.0.0.0 (这个改变是出于安全考虑 )。

要允许来自任何接口的请求,请将set :bind, '0.0.0.0'到您的应用程序文件,或使用-o选项启动您的应用程序,例如ruby myapp.rb -o 0.0.0.0

您可以将其设置为分配给客人的实际地址,但我不知道这是否值得。