Запустите узел js на портах 80 без прав root
Я хочу запустить свое приложение node.js на порту 80 без запуска его от имени 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 ответа
Для портов ниже 1000 требуются привилегии sudo. Вы можете использовать следующую команду, чтобы разрешить привязку к порту 80 без sudo:
sudo setcap 'cap_net_bind_service=+ep' `which node`
Наконец, я использовал перенаправление портов, но не с iptables, а с ufw
https://serverfault.com/questions/238563/can-i-use-ufw-to-setup-a-port-forward