2015-12-14 19 views
6

Ho un server Linux (os: Centos, ip: 192.168.1.100) con la mia app nodo che voglio eseguire il debug.
Per qualche ragione @office devo lavorare su un client remoto (ip: 192.168.1.7), poiché il server Linux non ha GUI/browser.Node.js: come eseguire il debug in remoto?

ho fatto seguire le istruzioni per utilizzare node-inspector, senza successo ...

Ecco quello che ho fatto:

$ npm --version 
2.14.2 

$ node --version 
v4.0.0 

$ npm install -g node-inspector 

$ node-inspector --version 
Node Inspector v0.12.3 

$ node-debug myApp.js 
Node Inspector is now available from http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 
Debugging `myApp.js` 

Debugger listening on port 5858 

Poi se apro il mio browser client per http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 , ottengo errore ERR_ADDRESS_UNREACHABLE.

Lo stesso risultato se apro il mio browser client a http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858.

Se (per curiosità) apro http://192.168.1.100:5858 ottengo solo:

Type: connect 
V8-Version: 4.5.103.30 
Protocol-Version: 1 
Embedding-Host: node v4.0.0 
Content-Length: 0 

ho fatto già aperta la porta 8080 e 5858 (per essere al sicuro) sul mio firewall (in /etc/sysconfig/iptables ho:

... 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5858 -j ACCEPT 
... 

).

Cosa mi manca?


UPDATE: Dopo suggerimento @aleung, ho aggiunto web-host=0.0.0.0 bandiera a node-debug riga di comando, senza grande successo: ho sempre ERR_ADDRESS_UNREACHABLE nel browser. Persino un client timeout. Invece, un telnet 192.168.1.100 5858 risponde:

Type: connect 
V8-Version: 4.5.103.30 
Protocol-Version: 1 
Embedding-Host: node v4.0.0 
Content-Length: 0 

Il che probabilmente significa debugger è in ascolto, ma è ancora irraggiungibile dall'interfaccia del client :-(

risposta

2

server Web predefinito nodo-ispettore verifica su 127.0.0.1, accettano solo . connessione da localhost Devi iniziare nodo-ispettore sul server con l'opzione --web-host=0.0.0.0:

$ node-debug --web-host 0.0.0.0 myApp.js 

quindi aprire il browser client per http://server:8080/?ws=server:8080&port=5858, dove Server è l'IP del tuo server.

+0

Grazie! Suppongo tu intenda --web-host, poiché altrimenti ricevo 'Can not start web-host = 0.0.0.0: non trovato: web-host = 0.0.0.0' ... Tuttavia, anche se il tuo suggerimento sembra molto promettente, tengo ottenendo 'ERR_ADDRESS_UNREACHABLE' sul browser (dopo alcuni secondi) ... :-( – MarcoS

+0

Nota che --web-host = 0.0.0.0 sembra fare il suo lavoro, dato che netstat mi dice che il nodo ora sta ascoltando su 0.0.0.0:8080, invece di 127.0.0.1:8080 ... – MarcoS

+0

@MarcoS È '--web-host', corretto. – aleung

Problemi correlati