Node.js EACCES error al escuchar en el puerto http 80 (permiso denegado) [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Las mejores prácticas al ejecutar Node.js con el puerto 80 (Ubuntu / Linode) [cerrado] 5 respuestas

Node.js arroja el siguiente error mientras se ejecuta en el puerto http 80 (puerto predeterminado): -

Error: EACCES, Permission denied
    at Server._doListen (net.js:1062:5)
    at net.js:1033:14
    at Object.lookup (dns.js:132:45)
    at Server.listen (net.js:1027:20)
    at [object Context]:1:3
    at Interface.<anonymous> (repl.js:150:22)
    at Interface.emit (events.js:42:17)
    at Interface._onLine (readline.js:132:10)
    at Interface._line (readline.js:387:8)
    at Interface._ttyWrite (readline.js:564:14)

e di cuenta de que el nodo debe tener acceso de roo

Convencionalmente, evitamos dar acceso a la raíz en una situación normal. ¿Cuáles son las mejores prácticas para usarlo en el puerto 80 (o puerto <1024)?

Estaenlaza tiene la misma pregunta pero solo tiene una respuesta, es decir, PREROUTING. Si bien mi solución también ofrece otras formas.

Estoy escribiendo esto para tener todas las respuestas en una ubicación, ya que tengo que analizar otros recursos además de PREROUTING. ¿Por qué no todas las respuestas en un solo lugar para compartir el conocimiento

Respuestas a la pregunta(1)

Su respuesta a la pregunta