【发布时间】:2015-02-22 16:32:22
【问题描述】:
我正在尝试使用 Vagrant 设置 Node.js 应用程序。在同一个 Vagrant 盒子里还有一个 Rails 应用程序,它工作正常。 Node 使用的是 3001 端口,所以这里是 Vagrantfile 中的配置设置:
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "puppetlabs/ubuntu-14.04-32-puppet"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, host: 4567, guest: 3000
config.vm.network :forwarded_port, host: 5678, guest: 3001
所以,我在 Vagrant 框中启动了 Node。这表明在 Vagrant 框内,它响应了 3001 端口上的请求:
vagrant@localhost:~$ wget 127.0.0.1:3001
--2014-12-24 06:37:40-- http://127.0.0.1:3001/
Connecting to 127.0.0.1:3001... connected.
HTTP request sent, awaiting response... 200 OK
guest 机器正在监听 3001 端口:
$ sudo netstat -ltpn | grep 3001
tcp 0 0 127.0.0.1:3001 0.0.0.0:* LISTEN 1422/node
主机正在监听5678端口:
sudo netstat -ltpn | grep 5678
tcp 0 0 0.0.0.0:5678 0.0.0.0:* LISTEN 30966/VBoxHeadless
然而,我无法从主机浏览器连接到应用程序。
可能是什么问题?
更新:vagrant up 上的输出:
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 3000 => 4567 (adapter 1)
[default] -- 3001 => 5678 (adapter 1)
【问题讨论】:
-
当您运行命令
vagrant up时,您是否在控制台中看到类似于==> default: Forwarding ports... default: 5678 => 3001 (adapter 1)的输出 -
是的。我更新了我的问题以包含
vagrant up的输出
标签: node.js vagrant portforwarding