Qual è la tecnologia dietro Hostname Based SSL (multiple ssl vhost su singolo IP)?

Well-known provider PaaS Heroku offre soluzioni multiple al problema SSL. Uno di questi è un prodotto denominato Hostname Based SSL

Questo non è SNI. Essi affermano che funziona su each browser in qualsiasi configuration, ma ha altri inconvenienti, soprattutto (citando i documenti):

  • Apache deflaisce i file .xml.gz
  • Rails Nginx passeggero non può caricare tale file-bundler
  • Come faccio ad apache per ascoltare più di 2 porte?
  • Apache2 mod_wsgi python 2.6 Django molto lento
  • Corrispondenza stretta SNI per Apache
  • Come posso configurare Apache per utilizzare HTTPS per l'accesso esterno, ma HTTP per l'accesso interno?
    • SSL basata su hostname non functionrà con i domini di origine mentre si basa su aliame CNAME dei nomi a dominio personalizzati.

    • Il nome host SSL funziona solo con un solo dominio. Ad esempio, il sito www.domain.com funziona, ma se viene aggiunto un secondo certificato per secure.domain.com all'applicazione, non functionrà.

    • L'offerta SSL basata sull'hostname attualmente elimina alcune intestazioni HTTP; questo può essere un problema quando l'applicazione deve esaminare l'IP del client, ad esempio.

    Utilizzando questa soluzione di creazione personalizzata, Heorku può servire più siti SSL su un singolo indirizzo IP e come affermano che functionrà in qualsiasi cosa.

    Qualcuno può spiegare il lato tecnico di questa soluzione e della tecnologia dietro questo prodotto?

  • Ottenere 408 errori nei nostri registri senza alcuna richiesta o agente utente
  • Apache utilizza un sacco di CPU per il piccolo sito web
  • Supporto cross platform per hub USB collegati alla networking?
  • Configurazione di mod_auth_sspi per trovare l'utente remoto
  • Quali sono le buone opzioni per il cluster di file server?
  • Apache: authorization di base per root, restrizione host nella directory
  • 2 Solutions collect form web for “Qual è la tecnologia dietro Hostname Based SSL (multiple ssl vhost su singolo IP)?”

    Non è proprio quello che pensi. Heroku non serve più cert SSL su un singolo indirizzo IP. Se si esegue un'applicazione nslookup contro le distribuzioni SSL di Hostname diverse, ad esempio, trovenetworking che ciascuno punti ad un altro Amazon ELB . Qui c'è la salsa segreta.

    Quando un cliente richiede una SSL basata su Hostname, viene fornito un ELB per loro e il cliente viene richiesto a CNAME per il nome host di ELB. Quelle ELB si collegano nuovamente alla networking di routing Heroku.

    Spero che possa cancellare alcune cose. Non esitate a fare altre domande.

    Non lo so, quindi devo speculare. Questo potrebbe funzionare come risultato di un'interazione tra i propri server DNS e server HTTP di Heroku. Il stream potrebbe andare così:

    1. Il cliente chiede https://www.yourdomain.com
    2. Il resolver DNS del client risolve http://www.yourdomain.com come un CNAME ad un RR sui server di nome di heroku (ad esempio app1234.apps.heroku.com)
    3. Il resolver DNS del client interroga l'A RR per app1234.apps.heroku.com dal server di nomi per apps.heroku.com
    4. Il server di nome per apps.heroku.com indica un indirizzo e notifica il corrispondente server web di un client all'indirizzo IP 1.2.3.4 richiedendo all'host http://www.yourdomain.com
    5. Il client inizia una stretta di mano di connessione SSL a app1234.apps.heroku.com
    6. Il server HTTPS, sapendo che il client a 1.2.3.4 verrà richiesto http://www.yourdomain.com come sito, seleziona il certificato corretto per http://www.yourdomain.com e procede con la stretta di mano SSL

    Il stream potrebbe rompersi in alcuni scenari, in particolare con molte richieste di siti diversi che derivano da un singolo indirizzo IP (come avviene per i client dietro un proxy o un gateway NAT), ma questo potrebbe essere "compensato" attraverso la diffusione delle richieste per host diversi di destinazione da un unico IP di origine tra molti server HTTPS, in modo che un singolo server HTTPS non avrebbe alcuna ambiguità quando decidere quale certificato scegliere per un determinato client.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.