HAProxy: การเชื่อมต่อหลายหน้าพร้อมกัน


10

เป็นไปได้ / ถูกต้องในการกำหนดค่าส่วนหน้าหลาย ๆ ที่ผูกกับพอร์ตเดียวกันบน HAProxy

frontend A
    bind :80
    bind :2000-5000
    acl rule_about_A
    use_backend server_A if rule_about_A

frontend B
    bind :80
    acl rule_about_B
    use_backend server_B if rule_about_B

ในกรณีที่ใช้งานนี้ส่วนหน้า A ต้องผูกกับ 80 และช่วง 2000-5000 สำหรับ frontend B ฉันไม่ต้องการผูกมันกับพอร์ตเหล่านั้นทั้งหมดเพียง 80

ฉันคิดว่ามันจะดูสะอาดถ้าฉันกำหนดค่าด้วยวิธีนั้นแทนที่จะใช้ส่วนหน้าเดียวและเล่นกับ ACLs แต่ดูเหมือนว่าการกำหนดค่านั้นทำให้ HAProxy ทำงานผิดปกติ - บางครั้งใช้กฎที่ถูกต้องและบางครั้งไม่ใช่

ก่อนที่จะเข้าร่วมส่วนหน้าเหล่านั้นเป็นหนึ่งเดียวเป็นไปได้ไหมที่จะใช้หลายส่วนหน้าที่ผูกเข้ากับพอร์ตเดียวกัน

แก้ไข: BTW ฉันใช้ HAProxy 1.5

คำตอบ:


11

ไม่คุณไม่สามารถทำสิ่งนี้และคาดหวังพฤติกรรมที่เหมาะสม

คำขอสำหรับพอร์ต 80 จะมาถึงแบบสุ่มดูเหมือนที่ปลายด้านหน้าหรืออีกด้านหนึ่ง ผลลัพธ์ของการกำหนดค่าดังกล่าวไม่ได้กำหนดและแม้ว่าจะไม่ได้ใช้งานได้จริงในทางเทคนิค แต่สำหรับวัตถุประสงค์ในทางปฏิบัติทั้งหมดนั้นเป็นการกำหนดค่าแบบไร้สาระ

กฎทั้งหมดที่ใช้กับพอร์ต 80 (หรือพอร์ตใด ๆ ) จำเป็นต้องระบุไว้ในพอร์ตเดียวfrontend(หรือlistenพอร์ตเดี่ยว) ที่เชื่อมกับพอร์ต 80

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