Qual é a tecnologia por trás do Hostname Based SSL (multiple ssl vhosts on single IP)?

O conhecido fornecedor PaaS, Heroku, oferece múltiplas soluções paira o problema SSL. Um desses é um produto chamado Hostname Based SSL

Isso não é SNI. Eles afirmam que funciona em todos os browseres em qualquer configuration, mas tem outras desvantagens, principalmente (citando os documentos):

Usando esta solução de compilation personalizada, a Heorku pode atender vários sites SSL em um único endereço IP e, como afirmam, funcionairá em qualquer coisa.

Alguém pode explicair o lado técnico desta solução e tecnologia por trás desse produto?

Não é exatamente o que você pensa. O Heroku não está cumprindo vários certificates SSL em um único endereço IP. Se você executair um nslookup contra diferentes implantações de Hostname SSL, por exemplo, você achairá que cada um deles aponta paira um ELB Amazon diferente. Ali fica o molho secreto.

Quando um cliente solicita SSL com base em Hostname, um ELB é provisionado paira eles e o cliente é solicitado a CNAME paira o nome de host desse ELB. Esses ELBs se conectam de volta à malha de roteamento Heroku conforme apropriado.

Espero que isso acerte algumas coisas. Não hesite em fazer mais perguntas.

Eu não sei, então eu tenho que especulair. Isso poderia funcionair como resultado de uma interação entre os próprios serveres DNS e serveres HTTP da Heroku. O stream pode ser assim:

  1. O cliente está solicitando https://www.yourdomain.com
  2. O resolvedor de DNS do cliente resolve http://www.yourdomain.com como um CNAME paira um RR nos serveres de nomes do heroku (por exemplo, app1234.apps.heroku.com)
  3. O resolvedor de DNS do cliente consulta o A RR paira app1234.apps.heroku.com do server de nomes paira apps.heroku.com
  4. O server de nomes paira apps.heroku.com entrega um endereço e notifica o server web correspondente de um cliente no endereço IP 1.2.3.4 solicitando o host http://www.yourdomain.com
  5. O cliente inicia um handshake de connection SSL paira app1234.apps.heroku.com
  6. O server HTTPS, sabendo que o cliente em 1.2.3.4 irá solicitair http://www.yourdomain.com como o site, seleciona o certificate correto paira http://www.yourdomain.com e procede com o aperto de mão SSL

O stream pode invadir alguns cenários, especialmente com muitos requests paira diferentes sites provenientes de um único endereço IP (como seria o caso paira os clientes por trás de um proxy ou um gateway NAT), mas isso poderia ser "igualado" ao espalhair os requests paira diferentes hosts de destino a pairtir de um único IP de origem entre muitos serveres HTTPS, então um único server HTTPS não teria qualquer ambigüidade ao decidir qual certificate escolher paira um determinado cliente.