在监听HTTP 80端口时,Node.js出现EACCES错误(权限被拒绝)。

10 浏览
0 Comments

在监听HTTP 80端口时,Node.js出现EACCES错误(权限被拒绝)。

在运行在默认端口80(http端口)的Node.js时,会出现以下错误:-

Error: EACCES, Permission denied
    at Server._doListen (net.js:1062:5)
    at net.js:1033:14
    at Object.lookup (dns.js:132:45)
    at Server.listen (net.js:1027:20)
    at [object Context]:1:3
    at Interface. (repl.js:150:22)
    at Interface.emit (events.js:42:17)
    at Interface._onLine (readline.js:132:10)
    at Interface._line (readline.js:387:8)
    at Interface._ttyWrite (readline.js:564:14)

我发现Node.js需要root访问权限。

在正常情况下,我们通常避免给予root访问权限。在使用端口80(或端口<1024)时的最佳实践是什么。

这个链接有相同的问题,但只提供了一个答案,即PREROUTING。而我的解决方案还提供了其他方法。

我写这篇文章是为了将所有答案放在一个位置,因为除了PREROUTING之外,我还必须查阅其他资源。为何不将所有答案放在一个位置以共享知识呢?

0