2012-08-28 39 views
2

我無法在EC2 Ubuntu 12.04 LTS服務器上運行'node myApp.js'。On EC2:node.js without sudo

它回答錯誤:

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) 

我周圍的一派,但是沒有解決方案,似乎適合。

+1

你的端口號1024或聽下面?那些需要sudo。上面的端口應該可以在沒有sudo的情況下工作。 – JohnnyHK

回答

6

在Linux上,只允許root使用端口< = 1024。如果你想讓你的Web服務器偵聽80端口,讓您的應用程序偵聽的端口> 1024(即8080),並使用iptables來重新路由到該端口,像這樣:

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