应用程序在localhost上工作正常。但是当它连接到服务器时,它会得到错误。 我通过端口22连接服务器
但我的应用程序连接服务器端口80。
这是错误
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
我运行netstat -tulpn | grep 22 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 netstat -tulpn | grep 80
没有显示。
任何的Help.is这个服务器故障?
运行netstat -nlt
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5902 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:631 :::* LISTEN
运行netstat -anp | grep :80 netstat -anp | grep :80
tcp 1 0 162.243.145.226:60728 91.189.94.25:80 CLOSE_WAIT 1726/ubuntu-geoip-p tcp 1 0 162.243.145.226:47842 74.125.239.148:80 CLOSE_WAIT 8104/epiphany-brows tcp 1 0 162.243.145.226:60727 91.189.94.25:80 CLOSE_WAIT 1417/ubuntu-geoip-p tcp 1 0 162.243.145.226:58818 198.41.30.199:80 CLOSE_WAIT 8104/epiphany-brows
这是来源
源链接
你是否以root身份运行程序?
如果您没有以root身份运行,则不能将任何程序绑定到1024端口。它们被视为特权端口,只有root可以使用它们。
如果你想以root身份运行,不要。 以root身份运行可能会造成问题,如果有人利用您的程序并获取一个shell,并发现它是一个根shell。
以非特权用户身份运行,并将端口从80更改为1024以上。