2015-12-14 10 views
6

Ich habe einen Linux-Server (os: Centos, ip: 192.168.1.100) mit meiner Knoten-App, die ich debuggen möchte.
Aus irgendeinem Grund @office muss ich auf einem Remote-Client arbeiten (IP: 192.168.1.7), da Linux-Server keine GUI/Browser hat.Node.js: Wie kann man remote debuggen?

ich die Anweisung tat folgen Knoten-Inspektoren zu verwenden, ohne Erfolg ...

Hier ist, was ich getan habe:

$ 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 

Dann, wenn ich http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 meinen Client-Browser öffnen , erhalte ich Fehler ERR_ADDRESS_UNREACHABLE.

Das gleiche Ergebnis, wenn ich meinen Client-Browser zu http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858 öffnen.

Wenn (aus Neugier) Ich http://192.168.1.100:5858 öffnen bekomme ich nur:

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

ich bereits geöffnet habe Port 8080 und 5858 (auf der sicheren Seite zu sein) auf meiner Firewall (in /etc/sysconfig/iptables ich habe:

... 
-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 
... 

).

Was vermisse ich?


UPDATE: Nach @aleung Vorschlag, habe ich web-host=0.0.0.0 Flag node-debug Kommandozeile, ohne großen Erfolg hinzufügen: Ich bekomme ERR_ADDRESS_UNREACHABLE immer in Browser. Sogar ein telnet 192.168.1.100 8080 von 192.168.1.7 Client Timeout. Stattdessen ein telnet 192.168.1.100 5858 Antworten:

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

was wahrscheinlich bedeutet, Debugger hört, aber es ist immer noch nicht erreichbar von der Client-Schnittstelle :-(

Antwort

2

standardmäßig node-Inspektor Web-Server auf 127.0.0.1 hört, nehmen nur . Verbindung von localhost Sie haben mit der Option Knoten-Inspektoren auf dem Server starten --web-host=0.0.0.0:

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

dann zu Ihrem Client-Browser öffnen http://server:8080/?ws=server:8080&port=5858, wo Server ist Ihre Server-IP.

+0

Dank! Ich nehme an, du meinst --web-host, denn sonst bekomme ich 'Kann nicht starten web-host = 0.0.0.0: nicht gefunden: web-host = 0.0.0.0 '... Allerdings, obwohl Ihr Vorschlag sehr vielversprechend aussieht, behalte ich Im Browser erscheint 'ERR_ADDRESS_UNREACHABLE' (nach einigen Sekunden) ... :-( – MarcoS

+0

Beachten Sie, dass --web-host = 0.0.0.0 den Job zu erledigen scheint, da netstat mir sagt, dass der Knoten jetzt auf 0.0.0.0:8080 hört, statt 127.0.0.1:8080 ... – MarcoS

+0

@MarcoS Es ist '-Web-Host', behoben. – aleung

Verwandte Themen