У меня есть сервер 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
Что, вероятно, означает, что отладчик слушает, но он по-прежнему недоступен из интерфейса клиента :-(
Спасибо! Я предполагаю, что вы имеете в виду --web-host, поскольку в противном случае я получаю 'Can not start web-host = 0.0.0.0: не найден: web-host = 0.0.0.0' ... Однако, хотя ваше предложение выглядит очень многообещающим, я сохраняю получив 'ERR_ADDRESS_UNREACHABLE' в браузере (через несколько секунд) ... :-( – MarcoS
Обратите внимание, что --web-host = 0.0.0.0 похоже делает свою работу, так как netstat говорит мне, что узел теперь прослушивает 0.0.0.0:8080, вместо 127.0.0.1:8080 ... – MarcoS
@MarcoS Это '--web-host', исправлено. – aleung