¿Es posible que un servidor web seleccione un certificado SSL para usar en función del encabezado del host de la conexión entrante, o es esa información que solo está disponible después de establecer la conexión SSL?
Es decir, ¿puede mi servidor web listado en el puerto 443 y usar el certificado foo.com si se solicita https://foo.com , y el certificado bar.com si se solicita https://bar.com o estoy tratando de hacerlo? algo imposible porque el servidor tiene que establecer una conexión SSL antes de saber lo que quiere el cliente?
fuente
Para extender la respuesta de Warner: La página de CAcert Vhost Task Force compara varios métodos para usar múltiples dominios en un solo servidor. Yo personalmente uso la Indicación del nombre del servidor .
fuente
Respuesta corta: no
HTTP está encapsulado dentro de SSL , por lo que cualquier información sobre la solicitud es inaccesible hasta que se haya establecido la conexión. Por lo tanto, hasta que se entregó un certificado al cliente. No hay forma de usar encabezados ni ninguna otra información cifrada, ya que todavía no están disponibles.
EDITAR: esto es cierto si quieres hoy en día ser un navegador cruzado y totalmente portátil. Como han dicho otros, hay algunos nuevos métodos emergentes que lo harán posible en el futuro cercano.
fuente
Correcto. La conexión SSL se establece antes de enviar cualquier parte de la solicitud HTTP (encabezado de host incluido).
fuente