Indirizza diversi domini HTTPS allo stesso server web

6

Al momento stiamo eseguendo un SaaS su HTTPS (abc.net) e uno dei nostri clienti (xyz.com) vuole fare un marchio personalizzato. Il client xyz.com avrà il proprio sottodominio xyz.abc.net che assomiglia alla sua parte di xyz.com quando viene visualizzato da un browser Web.

Il client aggiungerà i record CNAME al loro DNS in modo che le richieste HTTP (S) fatte verso xyz.com verranno indirizzate a xyz.abc.net.

Quanto sopra dovrebbe funzionare in teoria poiché sia xyz.com che * .abc.net hanno verificato i certificati.

Ma quale sarà il certificato che sarà visibile nella barra degli indirizzi per un utente medio quando accedono a xyz.com? Se l'utente vede il certificato di * .abc.net invece di xyz.com, c'è un modo per cambiarlo?

Poiché esiste già un certificato per * .abc.net, il cliente non può ottenere un nuovo certificato per il sottodominio.

Ho già trovato questo , ma sembra un po 'diverso dalla domanda precedente . anche il client non vuole il proxy (che richiede loro di eseguire i server).

    
posta JOW 12.08.2015 - 13:13
fonte

1 risposta

10

Non c'è magia al suo interno: l'utente vedrà cosa manderà il server web e il server web invierà ciò che gli dici di inviare.

Hai detto che entrambi gli URL condivideranno lo stesso IP utilizzando una voce CNAME DNS, quindi si verificherà un comportamento diverso a seconda del browser supporta SNI oppure no. SNI è supportato da tutti i browser decentemente recenti e consente loro di indicare il nome del server durante le prime fasi dell'handshake SSL, consentendo così al server Web di selezionare il certificato giusto da mostrare al client.

  • Con i browser che supportano SNI devi semplicemente configurare diversi host virtuali (o equivalenti a seconda del tuo server web) in base al nome del server, ciascuno riferendosi al proprio certificato ma molto probabilmente condividendo la stessa radice del documento e altre proprietà. / li>
  • Se desideri supportare i browser più vecchi, quando ricevi una richiesta da tale browser il server web, non avendo ricevuto alcun nome server, selezionerà sempre l'host virtuale predefinito e utilizzerà la configurazione in esso contenuta.
    Se si desidera essere perfettamente puliti e mostrare il certificato giusto anche per quei client, sarà necessario utilizzare un IP diverso per ciascun nome di server. Altrimenti, spetterà a te (hem, tuo cliente) decidere in che misura tolleri un degrado aggraziato dei tuoi servizi per i clienti che utilizzano il vecchio browser (il sito Web rimarrà comunque raggiungibile per questi client: più vecchio - e quindi da definizione insicura: i browser avranno un avviso di sicurezza che menziona il certificato dell'altro dominio o un certificato predefinito appositamente generato, a seconda della configurazione e della scelta).
risposta data 12.08.2015 - 13:52
fonte

Leggi altre domande sui tag