ขณะนี้เรากำลังใช้ HAproxy เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูลขาเข้าไปยังโดเมนของเรา ตัวอย่าง. โดเมน
ไปยังคอนเทนเนอร์ของเรา ซึ่งเข้าถึงได้ทางอินเทอร์เฟซภายในเครื่องเท่านั้น (เช่น 127.0.0.1:12000:8080
เพื่อให้บรรลุสิ่งนี้ การกำหนดค่าปัจจุบันของเรามีลักษณะดังนี้:
ค่าเริ่มต้น
โหมด http
หมดเวลาเชื่อมต่อ 5,000
หมดเวลาตรวจสอบ 5,000
ลูกค้าหมดเวลา 20,000
หมดเวลาเซิร์ฟเวอร์ 20,000
โดเมนส่วนหน้า
ผูก *:80
ผูก *:443 ssl crt /etc/haproxy/certs/domain.cert
ผูก *:11000-11199 ssl crt /etc/haproxy/certs/domain.cert
http-request redirect scheme https ยกเว้นว่า { ssl_fc } # ssl_fc คืนค่า true หากคำขอนั้นใช้ SSL อยู่แล้ว
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https ถ้า { ssl_fc }
# พอร์ต 11,000-11099 ถูกสงวนไว้สำหรับการรับส่งข้อมูลที่ปลอดภัย
acl secure_0_host dst_port 11000
acl secure_1_host dst_port 11001
# พอร์ต 11100-11199 ถูกสงวนไว้สำหรับทราฟฟิกที่ไม่ปลอดภัย
acl ไม่ปลอดภัย_0_host dst_port 11100
acl ไม่ปลอดภัย_1_host dst_port 11101
# แบ็กเอนด์ที่ปลอดภัย
use_backend secure_0 ถ้า secure_0_host
use_backend secure_1 ถ้า secure_1_host
# แบ็กเอนด์ที่ไม่ปลอดภัย
use_backend ไม่ปลอดภัย_0 ถ้าไม่ปลอดภัย_0_host
use_backend ไม่ปลอดภัย_1 หากไม่ปลอดภัย_1_host
#แบ็คเอนด์สำรอง
default_backend fallback_backend
แบ็กเอนด์ fallback_backend
http-ขอตำแหน่งเปลี่ยนเส้นทาง https://example.domain code 302
# แบ็กเอนด์ที่ปลอดภัย
แบ็กเอนด์ secure_0
เซิร์ฟเวอร์ secure_0 127.0.0.1:12000 ssl ยืนยันว่าไม่มี
แบ็กเอนด์ secure_1
server secure_1 127.0.0.1:12001 ssl ไม่มีการยืนยัน
# แบ็กเอนด์ที่ไม่ปลอดภัย
แบ็กเอนด์ไม่ปลอดภัย_0
เซิร์ฟเวอร์ไม่ปลอดภัย_0 127.0.0.1:12100
แบ็กเอนด์ที่ไม่ปลอดภัย_1
เซิร์ฟเวอร์ไม่ปลอดภัย_1 127.0.0.1:12101
การตั้งค่านี้ใช้งานได้ แต่มันน่าเบื่อมากที่จะต้องเพิ่มการแมปพอร์ตแต่ละรายการด้วยตนเองและมันก็ทำให้ฉันรำคาญที่ฉันต้องใช้พอร์ตอื่น (12000-12099
) สำหรับคอนเทนเนอร์นักเทียบท่า มากกว่าที่ฉันกำลังฟังด้วย HAproxy
เป็นไปได้ไหมที่จะบอกการกำหนดค่าว่า portrange ที่กำหนด (11000-11099
) ควรส่งผ่านไปยัง 127.0.0.1:11000-11099
?