Можно ли перенаправить соединение https до проверки SSL с помощью haproxy?

11

У меня есть два домена, myexample.comи my-example.com. Я хочу, чтобы весь трафик для любого домена шел на https://www.my-example.com , для которого у меня есть сертификат SSL. У меня нет SSL-сертификата для домена myexample.com.

У меня есть http://myexample.com , http://www.myexample.com , http://my-example.com и http://www.my-example.com, все перенаправленные на https: // www. my-example.com без проблем, однако, когда я настраиваю перенаправление для https://myexample.com или https://www.myexample.com , он проверяет их SSL-сертификат перед перенаправлением, поэтому я всегда получаю сертификат ошибка.

Есть ли способ сделать перенаправление без проверки SSL для домена без SSL, с которого я перенаправляю?

Соответствующая часть моего конфигурационного файла:

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
Представьте на мгновение, как плохо было бы https://www.paypal.com/перенаправить MITMed на https://www.not-paypal.com/мгновение, и вы получите ответ. Сертификаты SSL в наши дни бесплатны - получите один для другого домена.
ceejayoz
Как упомянуто @ceejayoz, просто получите бесплатный сертификат для другого домена.
Моше Кац
Я сделал это сейчас, мне просто интересно, было ли это необходимо или есть способ настроить его, как я это делал для non-ssl, прежде чем пытаться выяснить, как иметь более одного сертификата в конфигурации haproxy (я м далеко от эксперта!).
Бен Холнесс
@BenHolness Вы можете получить многодоменный сертификат (Let's Encrypt полностью поддерживает это), если хотите.
ceejayoz

Ответы:

20

Перенаправление осуществляется на уровне HTTP, т.е. после установления SSL-соединения. Поскольку установление SSL-соединения включает в себя проверку сертификата, невозможно обойти проверку сертификата для перенаправлений.

Штеффен Ульрих
источник