Nodojs agrupa diferentes manejo de sesiones TLS

¿Qué estoy tratando de hacer? Crear varios servidores TLS que escuchen en el mismo puerto. Cada servidor TLS tiene un conjunto diferente de certificados y solo debe permitir cierto conjunto de clientes. Por ejemplo, el primer servidor TLS debería permitir el Cliente X y no el Cliente Y. El segundo servidor TLS debería permitir el Cliente Y y no el Cliente X.

El problema que tengo es que el cliente Y y X se conectan solo con el primer servidor TLS. Los certificados TLS utilizados son diferentes para cada cliente y están firmados por diferentes servidores TLS, pero tienden a conectarse solo al primer servidor TLS.

Agradecería cualquier comentario sobre este tema.

preguntado el 02 de febrero de 12 a las 11:02

¿Tienen dominios diferentes o todo es igual a excepción de los certificados? -

La idea era usar el mismo dominio y diferenciar a los usuarios según el servidor que firma el certificado. -

1 Respuestas

Esa configuración simplemente no va a funcionar. los API de clúster permite que varios trabajadores compartan un puerto, pero no hay inteligencia sobre qué trabajador se asigna a qué solicitudes. Si no hay mucha carga, es muy posible que solo un trabajador reciba todas las solicitudes.

No estoy seguro de lo que está tratando de hacer, pero si lo piensa, este tipo de configuración no tiene sentido. Si tiene certificados diferentes, no hay forma de que una sesión TLS se configure correctamente. Sería como intentar vincular varios certificados SSL a la misma IP.

La única forma en que puedo ver que esto funciona es si cada uno de esos certificados diferentes se corresponde con un nombre de host diferente. En ese caso, puede intentar usar SNI como se documenta en http://nodejs.org/docs/latest/api/tls.html#tls.connect. Sin embargo, cada proceso de trabajo aún necesitaría acceder al mismo grupo de certificados.

Respondido 02 Feb 12, 17:02

Gracias Rohan por tu respuesta. Sí, con algo de experimentación, llegué a la misma conclusión sobre el hilo de trabajo que recibe el mensaje es aleatorio. Voy a seguir adelante con la solución SNI y confío en el nombre del servidor para manejar diferentes certificados. - Habib

@Janon Suena bien. Una cosa de la que desconfiaría con SNI es la compatibilidad con el navegador. Los navegadores más antiguos y algunas versiones de Android no son compatibles con SNI. Podría valer la pena analizar los detalles. - Rohan Singh

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.