Tenemos una granja de servidores web que actualmente alberga 2 aplicaciones: ambas aplicaciones se ejecutan en todos los servidores. Queremos dividir esto para tener una granja de servidores dedicada para cada aplicación (tenemos buenas razones para esto).
Esperábamos tener un solo equilibrador de carga en frente de todos los servidores, que enrutaría el tráfico a la granja de servidores correcta en función del nombre de host, pero queremos mantener SSL para los servidores web.
Parece que los enrutadores que se nos ofrecen no hacen esto. Aprecio que sin SNI esto sea imposible, pero esperamos indicadores de SNI en prácticamente todo nuestro tráfico.
Ahora soy un programador, no un chico de la red, pero cuando llega una nueva solicitud de conexión SSL, el enrutador no puede examinar el encabezado SNI y enrutar a la granja de servidores correcta. Supongo que la conexión SSL entrante está identificada por {IP de origen: puerto de origen}, así que ¿no podría recordar esto para los siguientes paquetes entrantes (si SNI solo está presente en el primer paquete)?
Por lo que puedo decir, Haproxy hace esto, pero parece que los equilibradores de carga de hardware no lo hacen. ¿Hay alguna razón para esto o es algo por lo que debemos presionar?
(Para el último guardia que usa IE en XP que no incluye SNI, nos gustaría enviar tráfico a la granja de servidores anterior, y administraríamos el proxy a la granja de servidores nueva cuando sea necesario).
fuente
Un enrutador generalmente funciona solo en la capa 3 de OSI, es decir, no inspecciona el contenido del paquete sino solo la IP de destino. Para el enrutamiento basado en SNI, sería necesario comprender TCP y TLS, que es más complejo y mucho más costoso (con respecto al rendimiento) que el enrutamiento basado en la dirección IP. Y esto tampoco suele llamarse enrutamiento entonces.
Está mezclando enrutador (capa 3), equilibrador de carga de hardware (capa 4 y quizás superior) y Haproxy (equilibrador de carga de software). Un equilibrador de carga de hardware no es más que un dispositivo con algún equilibrador de carga de software y quizás también algo de aceleración de hardware para acciones específicas. No hay nada que inherentemente haga imposible el equilibrio (no el enrutamiento) basado en la información de SNI en un equilibrador de carga de hardware y, como otra respuesta, sugiere que hay productos que admiten esto. Pero, por supuesto, debe implementarse y cuesta rendimiento: cuanto más se mire el tráfico, más lento será.
fuente