Node.js websocket 错误“错误:监听 EADDRNOTAVAIL 错误:监听 EADDRNOTAVAIL”

Node.js websocket 错误“错误:监听 EADDRNOTAVAIL 错误:监听 EADDRNOTAVAIL”

应用程序在本地主机上运行良好,但当它连接到服务器时,会出现下一个错误。

 Error: listen EADDRNOTAVAIL Error: listen EADDRNOTAVAIL
 at errnoException (net.js:904:11)
 at Server._listen2 (net.js:1023:19)
 at listen (net.js:1064:10)
 at net.js:1146:9
 at dns.js:72:18
 at process._tickCallback (node.js:419:13)
 at Function.Module.runMain (module.js:499:11)
 at startup (node.js:119:16)
 at node.js:906:3

我通过端口 22 连接服务器,但我的应用程序通过端口 80 连接服务器。

我运行了一下netstat -tulpn | grep 22,结果是:

 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      683/sshd
 tcp6       0      0 :::22                   :::*                    LISTEN      683/sshd

但如果我运行,netstat -tulpn | grep 80什么也不会显示。

是这个服务器的故障吗?是源头。

答案1

我认为您没有在端口 80 上操作的权限。请尝试以下操作:

  1. 将值default-port从更改80003000
  2. 使用 iptables 将端口 80 中的流量重定向到 3000

    iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
    

相关内容