ฉันมีการยุติ SSL ที่ใช้งานได้กับ STunnel ต่อหน้า HAproxy
เมื่อเร็ว ๆ นี้ เรื่องของการเพิ่มการรองรับสำหรับ HTTP/2 ได้ถูกโยนทิ้งไป
นั่นเป็นเรื่องง่ายด้วย HAProxy แต่ด้วยข้อจำกัด STunnel จะต้องอยู่ต่อไป
เหตุผลที่ STunnel จำเป็นต้องอยู่คือ SNI ประมาณ 17,000 บรรทัดและความเป็นไปได้ในการจัดการสิ่งเหล่านั้นผ่าน API ที่มีอยู่แล้ว
ฉันสามารถเพิ่มรายการใบรับรองสำหรับ HAProxy ที่มี SNI ได้ดีมาก greps และ echos สองสามตัวจะช่วยได้
อย่างไรก็ตาม ระหว่างการค้นหาของฉัน ฉันยังไม่พบใครวาง HAProxy ไว้หน้า STunnel ไว้หน้า HAProxy นั่นเป็นแนวทางที่ผิดหรือเปล่า?
นี่คือสิ่งที่ฉันเริ่มดำเนินการแล้ว (ยังไม่มี SNIs อยู่ในนั้น - 17,000 รายการอาจมากเกินไปสำหรับการโพสต์):
ส่วนหน้า HAProxy (ซึ่งฉันต้องการเพิ่มการรองรับ HTTP/2) พร้อมการเข้ารหัสไปยัง STunnel:
ฟังส่วนหน้า
ผูก 192.168.1.100:443 โปร่งใส
โหมด http
เซิร์ฟเวอร์ stunnel 127.0.0.100:443 ssl ยืนยันไม่มี
อุโมงค์
[อุโมงค์]
ใบรับรอง = /etc/ssl/certs/cert.pem
ยันต์ =
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256
-SHA384:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA
256:AES256-GCM-SHA384:AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-
RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-
RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:AES128-GCM-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
ยอมรับ = 127.0.0.100:443
เชื่อมต่อ = 127.0.0.100:80
ล่าช้า = ใช่
ตัวเลือก = NO_SSLv3
ตัวเลือก = NO_TLSv1
ตัวเลือก = NO_TLSv1.1
ตัวเลือก = NO_TLSv1.3
ตัวเลือก = CIPHER_SERVER_PREFERENCE
ตัวเลือก = DONT_INSERT_EMPTY_FRAGMENTS
เจรจาใหม่ = ไม่
โปรโตคอล = พร็อกซี่
ท้องถิ่น = 127.0.0.100
TIMEOUTปิด = 0
HAProxy "แบ็กเอนด์"
ฟังเว็บ
ââââผูก 127.0.0.100:80 ยอมรับพร็อกซีโปร่งใส
ââââโหมด http
ââââสมดุลอย่างน้อยคอน
ââââacl SSL-443 src 127.0.0.100
ââââtcp-ร้องขอการเชื่อมต่อคาดหวังพร็อกซีเลเยอร์ 4 ถ้า STunnel
ââââตัวเลือก http-keep-alive
ââââหมดเวลา http-request 5s
ââââหมดเวลาอุโมงค์ 1 ชม
ââââตัวเลือกส่งซ้ำ
ââââตัวเลือก ยกเลิกปิด
ââââmaxconn 40000
ââââตัวเลือก httplog
ââââเซิร์ฟเวอร์ server1 192.168.1.98:80 ตรวจสอบ
ââââเซิร์ฟเวอร์ server2 192.168.1.99:80 ตรวจสอบ
ฉันถือว่าต้องมีการเข้ารหัสจาก HAProxy ถึง STunnel และฉันจำเป็นต้องคำนึงถึงโปรโตคอลที่ไม่ตรงกันระหว่างโปรโตคอลเหล่านั้น
เวอร์ชัน STunnel ของ HAProxy คืออะไร การเชื่อมต่อคำขอ tcp คาดหวังพร็อกซีเลเยอร์ 4 หาก STunnel อยากจะเป็น?
ความช่วยเหลือใด ๆ ในการรับการสนับสนุน HTTP/2 กับ STunnel นั้นได้รับการชื่นชมอย่างมาก เช่นเดียวกับการได้รับ "อย่าทำอย่างนั้น มันผิด"
ขอขอบคุณ,