เป็นไปได้หรือไม่ที่จะเปลี่ยนเส้นทางการเชื่อมต่อ 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
ลองนึกภาพดูสักพักว่ามันจะเลวร้ายแค่ไหนสำหรับ MITMed https://www.paypal.com/ที่จะเปลี่ยนเส้นทางไปhttps://www.not-paypal.com/สักครู่แล้วคุณจะได้คำตอบของคุณ ใบรับรอง SSL ฟรีวันนี้รับหนึ่งสำหรับโดเมนอื่นของคุณ
ceejayoz

เช่นเดียวกับ @ceejayoz ที่กล่าวถึงเพียงรับใบรับรองฟรีสำหรับโดเมนอื่น
Moshe Katz

ฉันได้ทำไปแล้วตอนนี้ฉันแค่สงสัยว่ามันเป็นสิ่งที่จำเป็นหรือถ้ามีวิธีการกำหนดค่าเหมือนที่ฉันทำเพื่อไม่ใช่ SSL ก่อนที่ฉันจะพยายามหาวิธีที่จะมีใบรับรองมากกว่าหนึ่งใน Haproxy config (I ' ห่างจากผู้เชี่ยวชาญ!)
Ben Holness

@BenHolness คุณสามารถรับใบรับรองหลายโดเมน (Let's Encrypt รองรับอย่างเต็มที่) หากคุณต้องการ
ceejayoz

คำตอบ:


20

การเปลี่ยนเส้นทางทำได้ที่ระดับ HTTP คือหลังจากการเชื่อมต่อ SSL เสร็จสิ้น เนื่องจากการสร้างการเชื่อมต่อ SSL รวมถึงการตรวจสอบความถูกต้องของใบรับรองจึงไม่สามารถข้ามการตรวจสอบใบรับรองสำหรับการเปลี่ยนเส้นทาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.