2015-12-14 1 views
6

У меня есть сервер Linux (os: Centos, ip: 192.168.1.100) с моим узловым приложением, которое я хочу отлаживать.
По какой-то причине @office мне нужно работать с удаленным клиентом (ip: 192.168.1.7), так как у Linux-сервера нет графического интерфейса/браузера.Node.js: как отлаживать удаленно?

я следовать инструкциям, чтобы использовать узел-инспектор, но безуспешно ...

Вот что я сделал:

$ 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 

Тогда, если я открываю браузер клиента к http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 , я получаю ошибка ERR_ADDRESS_UNREACHABLE.

Тот же результат, если я открою браузер своего клиента до http://192.168.1.100:8080/?ws=192.168.1.100:8080&port=5858.

Если (из любопытства) я открываю http://192.168.1.100:5858 Я просто:

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

я уже открыт порт 8080 и 5858 (чтобы быть на безопасной стороне) на моем брандмауэре (в /etc/sysconfig/iptables у меня есть:

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

).

Что мне не хватает?


UPDATE: После @aleung предложение, я добавить web-host=0.0.0.0 флаг node-debug командной строки, без большого успеха: Я всегда получаю ERR_ADDRESS_UNREACHABLE в браузере. Даже telnet 192.168.1.100 8080 от клиента 192.168.1.7 тайм-аут. Вместо этого telnet 192.168.1.100 5858 ответы:

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

Что, вероятно, означает, что отладчик слушает, но он по-прежнему недоступен из интерфейса клиента :-(

ответ

2

На веб-сервер по умолчанию узел-инспектор слушает 127.0.0.1, только принимаем . соединение с локального хоста Вы должны начать узел-инспектор на сервере с опцией --web-host=0.0.0.0:

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

Затем откройте браузер клиента к http://server:8080/?ws=server:8080&port=5858, где сервер - ваш IP-адрес вашего сервера.

+0

Спасибо! Я предполагаю, что вы имеете в виду --web-host, поскольку в противном случае я получаю 'Can not start web-host = 0.0.0.0: не найден: web-host = 0.0.0.0' ... Однако, хотя ваше предложение выглядит очень многообещающим, я сохраняю получив 'ERR_ADDRESS_UNREACHABLE' в браузере (через несколько секунд) ... :-( – MarcoS

+0

Обратите внимание, что --web-host = 0.0.0.0 похоже делает свою работу, так как netstat говорит мне, что узел теперь прослушивает 0.0.0.0:8080, вместо 127.0.0.1:8080 ... – MarcoS

+0

@MarcoS Это '--web-host', исправлено. – aleung

 Смежные вопросы

  • Нет связанных вопросов^_^