在EC2:node.js没有sudo

Geo*_*iro 2 ubuntu amazon-ec2 node.js

我无法在我的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)
Run Code Online (Sandbox Code Playgroud)

我已经google了,但似乎没有适合的解决方案.

Chr*_*ris 6

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

# sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)