Apakah mungkin untuk mengarahkan ulang koneksi https sebelum SSL diperiksa menggunakan haproxy?

11

Saya punya dua domain, myexample.comdan my-example.com. Saya ingin semua lalu lintas untuk kedua domain menuju ke https://www.my-example.com , yang untuknya saya memiliki sertifikat SSL. Saya tidak memiliki sertifikat SSL untuk domain myexample.com.

Saya memiliki http://myexample.com , http://www.myexample.com , http://my-example.com , dan http://www.my-example.com semuanya dialihkan ke https: // www. my-example.com tanpa masalah, namun ketika saya mengatur pengalihan untuk https://myexample.com atau https://www.myexample.com , ia memeriksa sertifikat SSL mereka sebelum mengarahkan dan jadi saya selalu mendapatkan sertifikat kesalahan.

Apakah ada cara untuk melakukan redirect tanpa pengecekan SSL untuk domain non-SSL yang saya redirect?

Bagian yang relevan dari file konfigurasi saya:

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
sumber
16
Bayangkan sejenak betapa buruknya sebuah MITMed https://www.paypal.com/untuk dialihkan ke https://www.not-paypal.com/sesaat dan Anda akan memiliki jawaban Anda. Sertifikasi SSL gratis hari ini - dapatkan satu untuk domain Anda yang lain.
ceejayoz
Seperti yang disebutkan @ceejayoz, dapatkan saja sertifikat gratis untuk domain lain.
Moshe Katz
Saya telah melakukan itu sekarang, saya hanya ingin tahu apakah itu perlu atau jika ada cara untuk mengkonfigurasinya seperti yang saya lakukan untuk non-ssl sebelum saya mencoba mencari cara untuk memiliki lebih dari satu sertifikat dalam konfigurasi haproxy (I ' jauh dari ahli!).
Ben Holness
@ BenHolness Anda bisa mendapatkan sertifikat multi-domain (Let's Encrypt mendukung sepenuhnya ini), jika Anda mau.
ceejayoz

Jawaban:

20

Pengalihan dilakukan di tingkat HTTP, yaitu setelah koneksi SSL dibuat. Karena membangun koneksi SSL termasuk memvalidasi sertifikat, maka tidak mungkin untuk melewati pemeriksaan sertifikat untuk pengalihan.

Steffen Ullrich
sumber