Estoy configurando mi primer Node.jsservidor en cloud Linux nodeay soy bastante nuevo en los detalles de Linux admin. (Por cierto, no estoy tratando de usar Apache al mismo tiempo).
Todo está instalado correctamente, pero descubrí que a menos que use el root login, no puedo escuchar port 80con el nodo. Sin embargo, preferiría no ejecutarlo como root por razones de seguridad.
¿Cuál es la mejor práctica para:
- ¿Establecer buenos permisos / usuario para el nodo para que sea seguro / sandboxed?
- Permita que el puerto 80 se use dentro de estas restricciones.
- Inicie el nodo y ejecútelo automáticamente.
- Manejar la información de registro enviada a la consola.
- Cualquier otro problema general de mantenimiento y seguridad.
¿Debo reenviar el tráfico del puerto 80 a un puerto de escucha diferente?
Gracias
fuente

/etc/rc.local, ¿no se ejecutará comorooten el arranque del sistema? Eso anularía el propósito de la redirección del puerto 80.Dar permiso de usuario seguro para usar el puerto 80
Recuerde, NO queremos ejecutar sus aplicaciones como usuario root, pero hay un problema: su usuario seguro no tiene permiso para usar el puerto HTTP predeterminado (80). Su objetivo es poder publicar un sitio web que los visitantes puedan usar navegando a una URL fácil de usar como
http://ip:port/Desafortunadamente, a menos que inicie sesión como root, normalmente tendrá que usar una URL como
http://ip:port, donde el número de puerto> 1024.Muchas personas se quedan atrapadas aquí, pero la solución es fácil. Hay algunas opciones, pero esta es la que más me gusta. Escriba los siguientes comandos:
Ahora, cuando le dice a una aplicación Node que desea que se ejecute en el puerto 80, no se quejará.
Revise este enlace de referencia
fuente
Descarte los privilegios de root después de vincularse al puerto 80 (o 443).
Esto permite que el puerto 80/443 permanezca protegido, al tiempo que le impide servir solicitudes como root:
Un ejemplo de trabajo completo con la función anterior:
Ver más detalles en esta referencia completa .
fuente
Para el puerto 80 (que era la pregunta original), Daniel tiene toda la razón. Recientemente me mudé
httpsy tuve que cambiarmeiptablesa un proxy nginx ligero que administra los certificados SSL. He encontrado una utilidad respuesta junto con un GIST por gabrielhpugliese sobre cómo manejar eso. Básicamente yoCreó una solicitud de firma de certificado SSL (CSR) a través de OpenSSL
Se ha cambiado el
locationen/etc/nginx/conf.d/example_ssl.confaFormateé el certificado para nginx
catuniendo los certificados individuales y vinculándolos en miexample_ssl.confarchivo nginx (y cosas sin comentar, me deshice de 'ejemplo' en el nombre, ...)Esperemos que eso pueda salvar a alguien más de algunos dolores de cabeza. Estoy seguro de que hay una forma de nodos de hacer esto, pero nginx fue rápido y funcionó.
fuente