elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Puertos y NodeJS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Puertos y NodeJS  (Leído 5,381 veces)
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Puertos y NodeJS
« en: 20 Agosto 2016, 05:42 am »

He visto varios tutoriales donde escriben codigo en NodeJS por lo que a la hora de crear un servidor especifican el puerto. Ahora, cuando voy a visualizar la pagina tengo que poner http://midominio.com:elpuerto ejemplo(localhost:8080) y tiene que ser obligatoriamente por ese puerto. Ahora mi pregunta es ¿Cómo hago para no tener que un usuario entre por la URL sin tener que especificar el puerto?

Saludos y gracias de antemano;


En línea

ivandiaz

Desconectado Desconectado

Mensajes: 5



Ver Perfil WWW
Re: Puertos y NodeJS
« Respuesta #1 en: 20 Agosto 2016, 06:32 am »

Puerto 80 es el default que el navegador asume si no se especifca un puerto. Ejemplo www.google.com es lo mismo que www.google.com:80


En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Puertos y NodeJS
« Respuesta #2 en: 22 Agosto 2016, 02:21 am »

Pues tienes dos opciones, o configuras la app para que escuche por el puerto 80 o usas un reverse proxy.

Normalmente si tu app va a ser la unica app en todo el servidor entonces usa el 80, pero esto quiere decir que no podrás tener mas apps funcionando.

Para evitar esto lo que se hace es instalar apache o el servidor http que desees y debes configurar un reverse proxy, ¿que significa?, significa que tu apache correrá en el puerto 80 y tu app en el 8080, pero tu servidor http va a tener una configuración para que el usuario cuando ingrese a http://demo.com/ el servidor web vaya a consultar por debajo a tu app con node, es como crear un puente, el usuario consulta al servidor, el servidor consulta a la app al puerto 8080 y tu app le responderá al servidor y el servidor al usuario.

¿Cómo se logra esto?, acá algunos tutoriales:

http://stackoverflow.com/questions/14259321/apache-node-js-mod-proxy-how-to-route-one-domain-to-3000-and-another-to-8
http://www.codingtricks.biz/run-nodejs-application-apache/
https://www.digitalocean.com/community/questions/how-to-run-nodejs-with-apache-for-ubuntu-12-04

¿Cómo seguir buscando?, en google por "Nodejs + apache reverse proxy"

Ahora, también hay una tercera opción pero es mas compleja y necesita mas conocimientos y es usando Phusion Passenger:
https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Node.js-tutorial
https://www.phusionpassenger.com/library/walkthroughs/deploy/nodejs/
https://www.phusionpassenger.com/library/walkthroughs/basics/nodejs/fundamental_concepts.html

Lo que hace esto es crear un puente de tipo CGI entre apache y node tal como se logra con apache + php pero este driver hace posible cargar la ejecución de varios lenguajes de programación dentro del mismo módulo (passenger) tales como: nodejs y ruby on rails, yo lo uso para publicar apps en rails pero no es muy cómodo, especialmente cuando debes instalar algunas dependencias desde rvm (administrador de versiones de rails) y no desde el repositorio del sistema operativo, pero no se si será igual en node.

De todas las alternativas te recomiendo hacer lo del reverse proxy, es lo que la gran mayoría hace, es cómodo y sirve para múltiples proyectos a futuro sin tener que realizar instalaciones especiales por proyecto.

Ahora, hay una cuarta opción pero es aun mas compleja xD y es usando contenedores LXD o Docker y desde ahi publicar con el reverse proxy con apache, pero ahi si necesitas mas conocimientos. De todas maneras si te interesa:
https://nodejs.org/en/docs/guides/nodejs-docker-webapp/
https://www.npmjs.com/package/node-lxd
http://www.infoworld.com/article/2843865/virtualization/canonicals-lxd-turns-docker-into-vm.html

Saludos.
« Última modificación: 22 Agosto 2016, 02:23 am por WHK » En línea

Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Puertos y NodeJS
« Respuesta #3 en: 26 Agosto 2016, 21:06 pm »

Pues tienes dos opciones, o configuras la app para que escuche por el puerto 80 o usas un reverse proxy.

Normalmente si tu app va a ser la unica app en todo el servidor entonces usa el 80, pero esto quiere decir que no podrás tener mas apps funcionando.

Para evitar esto lo que se hace es instalar apache o el servidor http que desees y debes configurar un reverse proxy, ¿que significa?, significa que tu apache correrá en el puerto 80 y tu app en el 8080, pero tu servidor http va a tener una configuración para que el usuario cuando ingrese a http://demo.com/ el servidor web vaya a consultar por debajo a tu app con node, es como crear un puente, el usuario consulta al servidor, el servidor consulta a la app al puerto 8080 y tu app le responderá al servidor y el servidor al usuario.

¿Cómo se logra esto?, acá algunos tutoriales:

http://stackoverflow.com/questions/14259321/apache-node-js-mod-proxy-how-to-route-one-domain-to-3000-and-another-to-8
http://www.codingtricks.biz/run-nodejs-application-apache/
https://www.digitalocean.com/community/questions/how-to-run-nodejs-with-apache-for-ubuntu-12-04

¿Cómo seguir buscando?, en google por "Nodejs + apache reverse proxy"

Ahora, también hay una tercera opción pero es mas compleja y necesita mas conocimientos y es usando Phusion Passenger:
https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Node.js-tutorial
https://www.phusionpassenger.com/library/walkthroughs/deploy/nodejs/
https://www.phusionpassenger.com/library/walkthroughs/basics/nodejs/fundamental_concepts.html

Lo que hace esto es crear un puente de tipo CGI entre apache y node tal como se logra con apache + php pero este driver hace posible cargar la ejecución de varios lenguajes de programación dentro del mismo módulo (passenger) tales como: nodejs y ruby on rails, yo lo uso para publicar apps en rails pero no es muy cómodo, especialmente cuando debes instalar algunas dependencias desde rvm (administrador de versiones de rails) y no desde el repositorio del sistema operativo, pero no se si será igual en node.

De todas las alternativas te recomiendo hacer lo del reverse proxy, es lo que la gran mayoría hace, es cómodo y sirve para múltiples proyectos a futuro sin tener que realizar instalaciones especiales por proyecto.

Ahora, hay una cuarta opción pero es aun mas compleja xD y es usando contenedores LXD o Docker y desde ahi publicar con el reverse proxy con apache, pero ahi si necesitas mas conocimientos. De todas maneras si te interesa:
https://nodejs.org/en/docs/guides/nodejs-docker-webapp/
https://www.npmjs.com/package/node-lxd
http://www.infoworld.com/article/2843865/virtualization/canonicals-lxd-turns-docker-into-vm.html

Saludos.

No te preocupes amigo, es la única aplicación que quiero, una sola en el puerto 80, pero eh ahí mi problema y el por qué pregunto; lo que pasa es que cada vez que prendo cualquier server (wampp, Xampp), como para probar, me sale el IIS Windows(Internet Information Service) anunciándome que instale Windows Server 2008. No se como arreglar eso, ponga la aplicación que ponga me sigue saliendo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas con la codificación de carácteres en nodejs
Programación General
WHK 0 2,386 Último mensaje 14 Diciembre 2012, 15:37 pm
por WHK
Ayuda con objetos de javascript (NodeJS)
Desarrollo Web
Dext3rCode 3 3,269 Último mensaje 5 Mayo 2016, 04:24 am
por MinusFour
[Subforo] javascript t& NodeJs en Desarrollo Web
Sugerencias y dudas sobre el Foro
[u]nsigned 2 3,785 Último mensaje 25 Junio 2016, 18:17 pm
por [u]nsigned
Enviando mensaje en NodeJS
Desarrollo Web
Ali Baba 0 2,032 Último mensaje 30 Agosto 2016, 18:40 pm
por Ali Baba
Varias Aplicaciones en NodeJS ¿Qué puertos usar?
Desarrollo Web
Ali Baba 2 2,297 Último mensaje 28 Septiembre 2016, 15:04 pm
por Ali Baba
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines