reverso pass nodejs example conf apache node.js nginx reverse-proxy webproxy

apache - pass - Ventajas de un proxy inverso frente a Node.JS



proxy reverso nginx (2)

Creo que el mayor beneficio es que luego puede usar el mismo puerto (80) para múltiples aplicaciones. De lo contrario, necesitaría una nueva dirección IP para cada aplicación nodejs que tenga. Dependiendo de cómo configure las cosas, también puede configurar diferentes carpetas y subdominios para diferentes aplicaciones nodej que se ejecutan en diferentes puertos. Si estás construyendo algo grande o complejo, esto es bastante bueno. Imagine que puede ejecutar sus API en una aplicación de nodo, su sitio web de otra y el sitio web que inició sesión (área de miembro, tablero, etc.) en otra aplicación. Su equilibrador de carga puede determinar quién necesita ir a dónde (example.com/api* -> api.js, example.com/dashboard* -> dashboard.js, ejemplo.com -> app.js). Esto no solo es útil para escalar, sino que también cuando las cosas se rompen, no todo se rompe a la vez.

Para la madurez, meh. Nodejs + forever + node-http-proxy = Increíble. Ejecute 1 servidor proxy para todas sus aplicaciones con una configuración / complejidad mínima (menor probabilidad de error). Entonces diviértete con todo lo demás. Sin embargo, no olvide apagar sus puertos internos ;) .

Algunas personas notan el equilibrio de carga, lo cual es cierto, es un beneficio. Sin embargo, el balanceo de carga no es algo de lo que la mayoría de la gente se beneficiará, ya que un único subproceso de nodos con bloqueo y sin bloqueo puede manejar cargas bastante impresionantes. Realmente no consideraría esto como una diferencia si fuera tú. El equilibrio de carga es fácil de implementar cuando lo necesita, pero por lo demás es completamente inútil hasta que lo haga.

También tenga en cuenta que si va con una solución proxy no nodal (nginx, tornado, etc.), asegúrese de NO usar uno que bloquee. Apache bloquea. Nginx no. No querrá descartar uno de los mayores beneficios de usar nodejs en primer lugar en un servidor defectuoso.

¿Cuáles son las ventajas de tener nginx u otro servidor web ejecutándose como un proxy inverso frente al Node.JS? ¿Qué proporciona?

(Esta pregunta es para asuntos relacionados con aplicaciones web, no páginas web).

Gracias.


Tener un software más maduro como proxy es mejor para la seguridad y la confiabilidad. Nginx, Apache y otros han sido probados contra una multitud de casos y utilizados en producción durante años.

También puede usar funciones de estos servidores web que, de otro modo, tendría que implementar usted mismo o usar un módulo node.js. Me gusta el almacenamiento en caché, las estadísticas, el equilibrio, etc.

Por otro lado, se perderían algunas características de node.js, funciones en tiempo real como websockets (en el puerto 80, aún se pueden usar otros puertos), el almacenamiento en búfer de página y, dependiendo del proxy inverso utilizado, el control sobre el almacenamiento en caché y los encabezados.

Editar: