我已经将HTTP TCP端口80添加到入站规则中,但仍然收到错误:
Error: listen EACCES 0.0.0.0:80
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1338:19)
at listenInCluster (net.js:1396:12)
at doListen (net.js:1505:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
5条答案
按热度按时间nvbavucw1#
当您希望监听端口80时,可能需要使用sudo运行node.js脚本。
zynd9foi2#
如果没有root权限,则无法运行侦听低端口(低于1024)的进程。
您可以尝试以
sudo
的身份运行,如上所述,或者开始使用反向代理(例如nginx),在另一个端口上启动进程,然后使用反向代理将来自端口80
的调用转发到启动进程的任何端口。t5fffqht3#
错误代码EACCES表示您没有在该端口上运行应用程序的适当权限。在Linux系统上,任何低于1024的端口都需要root访问权限。
wgxvkvu94#
例如,您需要使用反向代理将呼叫从端口80转发到8080。
nbnkbykc5#
我在尝试通过
npm
命令执行node
脚本时遇到了这个问题。为了解决这个问题,我直接使用node
命令执行它。(也需要使用sudo
)。发件人:
sudo npm run start
收件人:
sudo node index.js