【问题标题】:Unable to connect to Node.js in Vagrant无法连接到 Vagrant 中的 Node.js
【发布时间】: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


【解决方案1】:

从同事那里得到答案。

原来,vagrant 中的节点服务器正在监听 localhost,而它应该监听的是 0.0.0.0:

所以 www 文件中的这一行:

var server = app.listen(app.get('port'), 'localhost', function() {

必须改为:

var server = app.listen(app.get('port'), '0.0.0.0', function() {

现在一切正常。

【讨论】:

  • 您好,非常感谢!!!!这不是最近的,但对我有帮助,因为我遇到了同样的问题。但是,我不明白为什么这适用于 0.0.0.0?有人能说出来吗?
  • 谢谢,伙计!这也适用于我!我在“localhost”和“127.0.0.1”之前使用过,但只有“0.0.0.0”有帮助
  • 将 'localhost' 更改为 '0.0.0.0' 对我有用:http-server ./app -a 0.0.0.0 -p 3000 -c-1
  • 我也很好奇为什么会这样。 0.0.0.0 不是任何主机的有效地址吗?很奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 2022-01-13
相关资源
最近更新 更多