È possibile reindirizzare una connessione https prima che SSL venga verificato utilizzando haproxy?


11

Ho due domini myexample.come my-example.com. Voglio che tutto il traffico per entrambi i domini vada su https://www.my-example.com , per il quale ho un certificato SSL. Non ho un certificato SSL per il dominio myexample.com.

Ho http://myexample.com , http://www.myexample.com , http://my-example.com e http://www.my-example.com tutti reindirizzando a https: // www. my-example.com senza alcun problema, tuttavia quando imposto un reindirizzamento per https://myexample.com o https://www.myexample.com , controlla il loro certificato SSL prima del reindirizzamento e quindi ottengo sempre un certificato errore.

Esiste un modo per eseguire il reindirizzamento senza che SSL controlli il dominio non SSL da cui sto reindirizzando?

La parte rilevante del mio file di configurazione:

frontend www-https
   bind xxx.xxx.xxx.xxx:443 ssl crt /etc/ssl/private/www.my-example.com.pem
   reqadd X-Forwarded-Proto:\ https
   redirect prefix https://www.my-example.com code 301 if { hdr(host) -i myexample.com }
   redirect prefix https://www.my-example.com code 301 if { hdr(host) -i www.myexample.com }
   default_backend www-backend

16
Immagina per un momento quanto sarebbe male per un MITMed https://www.paypal.com/essere reindirizzabile https://www.not-paypal.com/per un momento e avrai la tua risposta. I certificati SSL sono gratuiti in questi giorni: prendine uno per l'altro dominio.
Ceejayoz,

Come accennato da @ceejayoz, ottieni un certificato gratuito per l'altro dominio.
Moshe Katz,

L'ho fatto ora, mi chiedevo solo se era necessario o se c'era un modo per configurarlo come ho fatto per non-ssl prima di provare a capire come avere più di un certificato nella configurazione haproxy (I ' m lontano da un esperto!).
Ben Holness,

@BenHolness Puoi ottenere un certificato multi-dominio (Let's Encrypt lo supporta pienamente), se lo desideri.
Ceejayoz,

Risposte:


20

Il reindirizzamento viene eseguito a livello HTTP, ovvero dopo che è stata stabilita la connessione SSL. Poiché stabilire la connessione SSL include la convalida del certificato, non è possibile ignorare il controllo del certificato per i reindirizzamenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.