GNU/Linux >> Tutoriels Linux >  >> Linux

L'application Node.js ne peut pas s'exécuter sur le port 80 même si aucun autre processus ne bloque le port

Le code d'erreur EACCES signifie que vous ne disposez pas des autorisations appropriées pour exécuter des applications sur ce port. Sur les systèmes Linux, tout port inférieur à 1024 nécessite un accès root.


Au lieu d'exécuter sur le port 80, vous pouvez rediriger le port 80 vers le port de votre application (> 1024) en utilisant

iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000

Cela fonctionnera si votre application s'exécute sur le port 3000.


Réponse courte :vous pouvez autoriser l'accès du nœud à ce port en utilisant :

setcap 'cap_net_bind_service=+ep' /path/to/nodejs

réponse longue

Modifier :

Peut ne pas fonctionner sur les nouvelles versions de nœud


Linux
  1. Comment exécuter Node.js en tant que processus d'arrière-plan et ne jamais mourir ?

  2. Comment puis-je exécuter mon script node js automatiquement à l'aide du planificateur sur le serveur

  3. Exécutez un ls sans obtenir le chemin complet

  4. Comment puis-je exécuter SSH sur un port autre que 22 ?

  5. Trouver quel processus se trouve à l'autre bout d'un tuyau

Exécutez la ligne de commande Linux sur votre iPad

L'ID de thread d'un processus multithread peut-il être le même que l'ID de processus d'un autre processus en cours d'exécution ?

PyODBC :impossible d'ouvrir le pilote même s'il existe

dlsym renvoie NULL, même si le symbole existe

Comment puis-je connaître le chemin absolu d'un processus en cours d'exécution ?

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