如何将NodeJSdebugging器通过隧道传送到Vagrant框?

我试图设置WebStorm NodeJSdebugging器来连接到一个在Vagrant框上托pipe的NodeJS项目。 我遇到了一些困难。

如果我用传统的方法(即通过terminal)传输服务器,它一切正常,我可以curl,通过WebStorm等进行debugging。

ssh -L 5858:127.0.0.1:5858 -N vagrant@10.20.30.40 

一旦我得到了这个工作,我把以下放入我的Vagrantfile:

  config.vm.network :forwarded_port, guest: 5858, host: 5858 

不像以前,这仍然工作在stream浪箱,但不是我的本地机器。 当我捻了,我得到以下错误:

  curl: (56) Recv failure: Connection reset by peer 

有没有人有任何想法,我做错了什么? 这甚至可以通过Vagrantfile进行configuration吗?

我想通过这样做,所以我的团队可以将他们的debugging器连接到零configuration。

谢谢

您可以尝试使用提供shell脚本(tunnel.sh),这将创build远程端口转发到您的机器:

 #!/bin/bash # executed from 'vagrant' ssh -R 5858:127.0.0.1:5858 me@my-machine 

其实你应该把这个脚本放在与你的Vagrantfile文件相同的文件夹中,然后编辑Vagrantfile来添加下面的代码:

 Vagrant.configure("2") do |config| config.vm.provision "shell", path: "tunnel.sh" end 

这将使Vagrant在每次执行命令时都执行这个脚本:

 vagrant up 

要么:

 vagrant provision 

尝试此操作时,应该删除Vagrantfile中的端口转发行。

我没有尝试隧道,但实际上我使用configuration脚本在启动时configuration虚拟机,例如复制authorized_keys中的公钥和类似的任务。