如何设置nodejs调试模式不监听127.0.0.1

Mag*_*gic 4 eclipse remote-debugging node.js google-chrome-devtools

我想在 Eclipse 中远程调试 nodejs 程序。我使用调试选项启动节点脚本。

$node debug script.js
Run Code Online (Sandbox Code Playgroud)

但是我无法连接到 Eclispe 中的节点。当我 netstat 节点的 TCP 端口时。我发现该节点仅在调试模式下侦听 127.0.0.1。所以我无法从不同的计算机连接它。

但是我找不到任何可以更改为侦听任何地址的启动选项。

任何人都知道让它听任何地址以在其他计算机上远程调试?

Fin*_*inn 7

如果其他人偶然发现这一点:您可以在设置端口时将节点调试设置为任何地址

node --debug=169.168.1.2:5858 app.js
Run Code Online (Sandbox Code Playgroud)

如果那将是您的远程机器的 ip 或者对每台机器更好

node --debug=0.0.0.0:5858 app.js
Run Code Online (Sandbox Code Playgroud)

但请注意,仅当您在自己的专用网络中调试时才应使用第二个选项,因为您为所有人打开它

  • `--debug` 已弃用,现在使用 `--inspect` (2认同)

nic*_*o82 5

这就是我在 linux Debian 中所做的:

安装平衡器

sudo apt-get install balance -y

然后在平衡器中创建一个路由将您的 5858 端口重新路由到 5859

balance 5859 127.0.0.1:5858

启动你的应用

node --debug app.js

现在你可以从任何地方通过 5859 端口访问它


Kat*_*ato 2

这是关于从 eclipse 调试 Nodejs 的精彩教程。请注意,底部有一个脚本,作者使用该脚本将 localhost:5858 转发到远程服务器的 127.0.0.1。您也可以只使用 SSH 隧道

所以,总结一下:

  1. 开始你的脚本node --debug app.js
  2. 配置 Eclipse 就像在本地调试一样
  3. 使用node_g脚本或配置SSH隧道
  4. 现在你的代码没有错误了,去度假吧