GNU/Linux >> Linux Esercitazione >  >> Linux

L'app Node.js non può essere eseguita sulla porta 80 anche se nessun altro processo blocca la porta

Il codice di errore EACCES significa che non hai le autorizzazioni appropriate per eseguire applicazioni su quella porta. Sui sistemi Linux, qualsiasi porta inferiore a 1024 richiede l'accesso root.


Invece di eseguire sulla porta 80, puoi reindirizzare la porta 80 alla porta della tua applicazione (>1024) utilizzando

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

Funzionerà se la tua applicazione è in esecuzione sulla porta 3000.


Risposta breve:puoi consentire l'accesso al nodo a quella porta utilizzando:

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

risposta lunga

Modifica:

Potrebbe non funzionare su nuove versioni del nodo


Linux
  1. Linux:trovare il Pid del processo utilizzando una porta specifica?

  2. Salva in una variabile il numero di secondi che un processo ha impiegato per essere eseguito

  3. Come posso limitare la cache utilizzata dalla copia in modo che ci sia ancora memoria disponibile per un'altra cache?

  4. Come posso eseguire automaticamente il mio script node js utilizzando lo scheduler sul server

  5. Esegui un ls senza ottenere il percorso completo

Esegui la riga di comando di Linux sul tuo iPad

Come posso eseguire SSH su una porta diversa dalla 22?

Un processo può essere eseguito indipendentemente da qualsiasi shell?

Trovare il PID del processo utilizzando una porta specifica?

Il processo init può essere uno script di shell in Linux?

L'eseguibile Linux non riesce con File non trovato anche se il file è presente e in PATH