javascript - Node.js:如何远程调试?

标签 javascript node.js debugging node-inspector

我有一个 Linux 服务器(os:Centos,ip:192.168.1.100)和我想要调试的 Node 应用程序。
出于某种原因@office,我必须在远程客户端(ip:192.168.1.7)上工作,因为 Linux 服务器没有 GUI/浏览器。

我确实按照说明使用 Node 检查器,但没有成功...

这是我做的:

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

).

我错过了什么?


更新: 在@aleung 建议之后,我确实将 web-host=0.0.0.0 标志添加到 node-debug 命令行,但没有取得很大的成功:我总是得到 ERR_ADDRESS_UNREACHABLE 在浏览器中。甚至来自 192.168.1.7 客户端的 telnet 192.168.1.100 8080 超时。相反,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

这可能意味着调试器正在监听,但它仍然无法从客户端接口(interface)访问:-(

最佳答案

默认情况下,node-inspector web 服务器在 127.0.0.1 上监听,只接受来自本地主机的连接。您必须使用选项 --web-host=0.0.0.0 在您的服务器上启动 Node 检查器:

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

然后打开您的客户端浏览器到http://server:8080/?ws=server:8080&port=5858,其中server是您的服务器IP。

关于javascript - Node.js:如何远程调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269432/

相关文章:

javascript - 引用输入字段值 JQuery 更改日期

javascript - 使用 Javascript 进行网页重定向

javascript - svg 元素在 Chrome 中隐藏/显示时重置

Xcode 调试器有时不显示变量值?

javascript - 为什么我不能用另一个类的原型(prototype)替换一个类的原型(prototype)?

node.js - Node.js 本身支持 WebSocket 吗?

javascript - 在 node.js 中,什么时候使用事件,什么时候使用直接回调函数?

node.js - 云代码和推送通知可能不可用

c++ - 需要帮助调试 “attribute parser”! HackerRank的C++问题

regex - 正则表达式代码