É possível redirecionar uma conexão https antes que o SSL seja verificado usando haproxy?

11

Eu tenho dois domínios myexample.come my-example.com. Desejo que todo o tráfego de ambos os domínios vá para https://www.my-example.com , para o qual tenho um certificado SSL. Não tenho um certificado SSL para o domínio myexample.com.

Tenho http://myexample.com , http://www.myexample.com , http://my-example.com e http://www.my-example.com todos redirecionando para https: // www. my-example.com sem problemas, no entanto, quando configuro um redirecionamento para https://myexample.com ou https://www.myexample.com , ele verifica o certificado SSL antes de redirecionar e, portanto, sempre recebo um certificado erro.

Existe uma maneira de fazer o redirecionamento sem que o SSL verifique o domínio não SSL do qual estou redirecionando?

A parte relevante do meu arquivo de configuração:

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
Ben Holness
fonte
16
Imagine por um momento quão ruim seria para um MITM https://www.paypal.com/ser redirecionável https://www.not-paypal.com/por um momento e você terá sua resposta. Atualmente, os certificados SSL são gratuitos - obtenha um para seu outro domínio.
ceejayoz
Como o @ceejayoz mencionado, obtenha um certificado gratuito para o outro domínio.
Moshe Katz
Eu fiz isso agora, estava me perguntando se era necessário ou se havia uma maneira de configurá-lo como fiz para não-ssl antes de tentar descobrir como ter mais de um certificado na configuração haproxy (eu ' estou longe de ser um especialista!).
Ben Holness
@BenHolness Você pode obter um certificado de vários domínios (o Let's Encrypt suporta totalmente isso), se desejar.
ceejayoz

Respostas:

20

O redirecionamento é feito no nível HTTP, ou seja, após a conexão SSL ser estabelecida. Como o estabelecimento da conexão SSL inclui a validação do certificado, não é possível ignorar a verificação do certificado para redirecionamentos.

Steffen Ullrich
fonte