在端口80上运行节点js而不以root身份运行

时间:2018-06-11 13:52:35

标签: node.js port port80

我想在端口80上运行我的node.js应用程序而不以root身份运行它

$> which node
/usr/bin/node

我曾尝试使用setcap,但它无效:

$> sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/node
Failed to set capabilities on file `/usr/bin/node' (Operation not 
permitted)
The value of the capability argument is not permitted for a file. Or 
the file is not a regular (non-symlink) file

我做错了什么?

2 个答案:

答案 0 :(得分:0)

最后,我使用了端口重定向,而不是使用iptables但使用了ufw

https://serverfault.com/questions/238563/can-i-use-ufw-to-setup-a-port-forward

答案 1 :(得分:0)

低于 1000 的端口需要 sudo 权限。可以使用下面的命令让它绑定到80端口,不需要sudo:

sudo setcap 'cap_net_bind_service=+ep' `which node`