Tengo poca experiencia en diseño de arquitectura de infraestructura de sitios web. Sé que podría ser una situación específica. Se supone que el sitio web:
1) Necesita soporte HTTPS para alguna página (por ejemplo, página de inicio de sesión) mientras que otras son solo una página HTTP.
2) Necesita múltiples servidores web para que se requiera un equilibrio de carga.
3) Necesita almacenamiento en caché HTTP y compresión para aumentar el rendimiento.
4) Algunas solicitudes (p. Ej., Carga de imágenes) deben enrutarse a servidores de back-end dedicados. Por lo tanto, se requiere un equilibrio basado en URL.
Sé que NginX y HAProxy son agradables Reverse Proxy y / o Load Balancer de código abierto. Dado que HAProxy no es compatible con SSL, el equilibrio de carga de Nginx no es tan bueno como HAProxy. Tomaré ambos.
Entonces, ¿debería poner Nginx (como proxy inverso) en la parte delantera de HAProxy (como equilibrador de carga) u opuesto?
Gracias
fuente
haproxy desde v. 1.5, lanzado en 2014 , admite SSL como un encanto, incluido SNI.
Por lo tanto, pondría haproxy frente a nginx.
fuente
Debería usar nginx, hace todo lo que necesita como servidor web frontend. Si necesita equilibrio de carga frontal, use un equilibrador de carga L3 como Linux Virtual Server , porque no se interpone en el camino como lo hace HAproxy. Use HAproxy si es necesario para hacer un equilibrio de carga detrás de escena, como equilibrar las solicitudes a un grupo de trabajadores de back-end.
fuente