GNU/Linux >> Tutoriels Linux >  >> Linux

Autoriser les applications node.js à s'exécuter sur le port 80

Solution 1 :

afin d'éviter cette erreur, vous pouvez résoudre l'exécutable non-symlink avec which node , comme exemple complet :

sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``

la commande "which" affiche le chemin complet des commandes shell.

Solution 2 :

Deviner. Il s'avère cependant que j'ai installé node, créé un lien symbolique dans /usr/bin/node qui pointait vers un autre lien symbolique dans /etc/alternatives/node qui pointait vers un autre lien symbolique dans /usr/bin/nodejs.

L'exécution de la commande sur /usr/bin/nodejs a fonctionné.

Solution 3 :

FWIW, une autre option consiste à utiliser authbind. Authbind utilise un mécanisme légèrement différent pour atteindre des objectifs similaires à CAP_NET_BIND_SERVICE. C'est à dire. permet aux applications non privilégiées d'utiliser des ports privilégiés.

Installer depuis apt :

sudo apt-get update && sudo apt-get install authbind

En supposant que l'app.js souhaité s'exécute sous l'utilisateur non privilégié "user" et que vous souhaitez vous lier au port 80 :

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80

Exécutez ensuite votre application comme ceci :

authbind node app.js

Si vous souhaitez plutôt utiliser quelque chose comme "pour toujours" (essentiellement démonise les applications de nœud), alors c'est le bon :

authbind --deep forever app.js

Linux
  1. Rappelez-vous les applications lors de la déconnexion de Lxde ?

  2. Comment vérifier si j'ai un accès sudo ?

  3. Exécutez la commande cd en tant que superutilisateur sous Linux

  4. comment passer la variable d'environnement à sudo su

  5. Autoriser FTP avec IPTables

Exécutez des applications Windows sur Linux avec Crossover 15

Comment exécuter des commandes Sudo sans mot de passe

Gestion des applications d'un nœud à l'aide de PM2

Y a-t-il jamais une bonne raison de courir Sudo Su ?

Comment exécuter un alias avec Sudo sous Linux

Comment exécuter les commandes sudo sans mot de passe