2014-05-13 10 views
5

che sto cercando di impostare il debugger WebStorm NodeJS per connettersi a un progetto NodeJS ospitato su una scatola di Vagrant. Sto arrivando con alcune difficoltà.Come posso tunnel il debugger NodeJS attraverso una scatola di Vagrant?

Se tunnel al server in modo tradizionale (ad esempio, tramite Terminal), tutto funziona bene e io sono in grado di curl per esso, eseguire il debug via WebStorm ecc

ssh -L 5858:127.0.0.1:5858 -N [email protected] 

Una volta che ho' d ottenuto che il lavoro, ho messo il seguente nel mio Vagrantfile:

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

a differenza di prima, questo funziona ancora sulla scatola Vagrant, ma non sulla mia macchina locale. Quando ho Curl ad esso, ottengo il seguente errore:

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

Qualcuno ha qualche idea su cosa sto facendo male? È possibile configurare questo tramite Vagrantfile?

voglio farlo attraverso questo modo la mia squadra in grado di connettersi loro debugger con la configurazione zero.

Grazie

+0

sto avendo lo stesso problema, hai risolto? –

+0

No. Penso che sia impossibile con l'attuale impostazione di Vagrant. Fa il port forwarding, ma il tunneling è un'azione SSH che sembra al di fuori del modo in cui funziona. Iniziare una taglia e vedere se qualcuno può dimostrarmi sbagliato – RiggerTheGeek

+0

questo funziona per me: http://neilk.net/blog/2013/08/21/how-to-debug-node-dot-js-from -Entro-vagabondo/ –

risposta

3

Si potrebbe provare a utilizzare uno script di shell disposizione (tunnel.sh), che creerebbe un port forwarding remoto alla macchina:

#!/bin/bash 

# executed from 'vagrant' 
ssh -R 5858:127.0.0.1:5858 [email protected] 

In realtà si dovrebbe mettere questo script nella stessa cartella che il vostro Vagrantfile, e modificare il Vagrantfile aggiungere queste righe:

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

questo renderà Vagrant eseguire questo script ogni volta che si esegue la virgola ND:

vagrant up 

Oppure:

vagrant provision 

Quando si tenta questo, si dovrebbe eliminare la linea di port forwarding nel vostro Vagrantfile.

non ho provato il tunnel, ma io in realtà utilizzare gli script di fornitura per configurare il vm quando comincia, come la copia di chiavi pubbliche in authorized_keys e compiti simili.

+0

Dove sarebbe questo avere messo? E l'hai provato? – RiggerTheGeek

+0

Ho aggiunto ulteriori dettagli su come utilizzare uno script di provisioning nella risposta. –

Problemi correlati