在EC2:node.js没有sudo

时间:2012-08-28 01:31:40

标签: node.js ubuntu amazon-ec2

我无法在我的EC2 Ubuntu 12.04 LTS服务器上运行'node myApp.js'。

它回复错误:

events.js:66
throw arguments[1]; // Unhandled 'error' event
                   ^
Error: listen EACCES
    at errnoException (net.js:768:11)
    at HTTPServer.Server._listen2 (net.js:891:19)
    at listen (net.js:935:10)
    at HTTPServer.Server.listen (net.js:984:5)

我已经用Google搜索了,但似乎没有适合的解决方案。

1 个答案:

答案 0 :(得分:6)

在Linux上,只允许root用户端口< = 1024。如果您希望您的Web服务器在端口80上侦听,请让您的应用程序侦听端口> 1024(即8080)并使用iptables重新路由到该端口,如下所示:

# sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080