我正在尝试设置WebStorm NodeJS调试器以连接到Vagrant框上托管的NodeJS项目。我遇到了一些困难。
如果我以传统的方式(即通过终端)隧道进入服务器,一切正常,我可以通过WebStorm等进行调试,
ssh -L 5858:127.0.0.1:5858 -N vagrant@10.20.30.40
一旦我开始工作,我就将以下内容放入我的Vagrantfile中:
config.vm.network :forwarded_port, guest: 5858, host: 5858
与以前不同,这仍然适用于Vagrant盒子,但不适用于我的本地机器。当我犯了它时,我收到以下错误:
curl: (56) Recv failure: Connection reset by peer
有没有人对我做错了什么有任何想法?这甚至可以通过Vagrantfile进行配置吗?
我想通过这样做,所以我的团队可以将他们的调试器连接到零配置。
由于
答案 0 :(得分:3)
您可以尝试使用配置shell脚本(tunnel.sh)来创建远程端口转发到您的计算机:
#!/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中的端口转发行。
我没有尝试隧道,但实际上我使用配置脚本在启动时配置vm,比如复制authorized_keys中的公钥和类似的任务。