gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:28 27 4
gpt4 key购买 nike

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

我的Vagrantfile如下:

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 only listens to localhost ,而不是 0.0.0.0(此更改是由于 security considerations 造成的)。

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

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

关于ruby - 无法使用 Vagrant 转发端口访问主机上的 Sinatra 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21250885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com