我在 nodejs 远程调试方面遇到了问题。我在远程服务器上使用 centos,在我的电脑上使用 phpstorm。当我打开 putty 时,我输入以下命令:
node --debug-brk=5858 main_server.js,
并得到输出:
调试器正在监听端口 5858。
接下来我要做的是去 phpstorm 中编辑配置,然后选择remotehost:8585
。当我尝试连接时,它会弹出:
连接到远程服务器:8585
连接被拒绝。
到目前为止,我所做的是通过在 iptables 中添加行来将端口 8585 和 5858 添加到 centos 防火墙:
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5858 -j ACCEPT
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8585 -j ACCEPT
之后我尝试了另一种解决方案,因为我在文档中看到我需要设置端口转发:
yum install balance -yt
balance -df 8585 127.0.0.1.5858
我尝试用这个命令进行端口转发:
iptables -t nat -A PREROUTING -p tcp -m tcp -i eth0 --dport 5858 -j DNAT --to 127.0.0.1:5858
我尝试过的解决方案是:
- https://stackoverflow.com/questions/13752362/node-js-on-virtualbox-centos-machine-no-connection
- https://stackoverflow.com/questions/8445534/how-to-remote-debug-node-js-with-phpstorm。
我还在本地网络路由器和 Windows 防火墙上打开了端口,但我不知道这是否有帮助。在 centos 服务器上启用 nodejs 远程调试的正确步骤是什么?我需要打开哪些端口以及在哪里(远程服务器和 LAN)?我需要端口转发吗?如果需要,我需要做什么才能使 nodejs 远程调试正常工作?