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