如何将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中的公钥和类似的任务。