应用程序在本地主机上运行良好,但当它连接到服务器时,会出现下一个错误。
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 上操作的权限。请尝试以下操作:
- 将值
default-port
从更改8000
为3000
使用 iptables 将端口 80 中的流量重定向到 3000
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000