Ruby on rails Vagrant:无法通过localhost:8080访问Rails服务器

Ruby on rails Vagrant:无法通过localhost:8080访问Rails服务器,ruby-on-rails,vagrant,ubuntu-14.04,portforwarding,Ruby On Rails,Vagrant,Ubuntu 14.04,Portforwarding,我的vagrant文件包含: config.vm.box = "ubuntu/trusty64" config.vm.network "forwarded_port", guest: 3000, host: 8080 vagrant up报告: Bringing machine 'default' up with 'virtualbox' provider... ==> default: Forwarding ports... default: 3000 => 8080 (

我的
vagrant文件
包含:

config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 3000, host: 8080
vagrant up
报告:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Forwarding ports...
    default: 3000 => 8080 (adapter 1)
...
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      1638/ruby
我使用非特权用户(
deploy')运行
rails服务器`它报告您期望的内容:

Booting WEBrick => Rails 4.2.5 application starting in development on http://localhost:3000
[2015-12-01 13:34:41] INFO  WEBrick::HTTPServer#start: pid=1638 port=3000
vagrant vm的内部
$netstat-ntlp
报告:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Forwarding ports...
    default: 3000 => 8080 (adapter 1)
...
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      1638/ruby
所以我知道Rails服务器肯定在监听端口3000

当我在我的主机(OS X)上浏览到时,我得到一个
ERR\u EMPTY\u响应

我已经尝试停止/启动虚拟机,重新加载它,等等。我是否遗漏了一些明显的东西


提前感谢您

尝试使用
rails服务器-b0.0.0启动rails
/etc/hosts
中,将0.0.0.0与localhost关联。当服务在0.0.0.0上侦听时,这意味着该服务在所有配置的网络接口上侦听,当在127.0.0.1上侦听时,该服务仅绑定到环回接口(仅在本地计算机上可用)

在来宾计算机上的
/etc/hosts
中,将
127.0.0.1 localhost
替换为
0.0.0 localhost


然后重新启动rails服务器。

您能检查一下8080端口上的主机是否没有运行任何东西吗?最有可能的是,某个进程已绑定该端口,因此流浪者无法使用该端口。我不知道在这种情况下,Wagrant up是否报告了错误或错误not@FrédéricHenri我将端口(8080)更改为许多其他值,其行为是相同的。主机上没有使用我尝试过的端口。@RobertJoseph运行
curl-I时有什么输出http://localhost:3000/
在来宾虚拟机中?@FrédéricHenri正是我所期望的:(要点)您的来宾可能有防火墙规则,防止从外部访问端口3000