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 की सीमा तक बांधने की आवश्यकता है। सीमांत बी के लिए, मैं इसे उन सभी बंदरगाहों के लिए नहीं बांधना चाहता, केवल 80 तक।

मुझे लगा कि अगर मैं इसे इस तरह से कॉन्फ़िगर करता हूं, तो यह साफ दिखता है, इसके बजाय एक ही फ्रंटेंड का उपयोग करें और एसीएल के साथ खेलें, लेकिन ऐसा लगता है कि कॉन्फ़िगरेशन HAProxy को गलत काम कर रहा है - कभी-कभी सही नियम लागू करता है और कभी-कभी नहीं।

एक एकल के रूप में उन फ़्रेंड्स में शामिल होने से पहले, क्या कई फ़्रंटेंड का उपयोग करना संभव है जो समान पोर्ट से जुड़ते हैं?

संपादित करें: BTW, मैं HAProxy 1.5 का उपयोग कर रहा हूं

जवाबों:


11

नहीं, आप ऐसा नहीं कर सकते और समझदार व्यवहार की उम्मीद कर सकते हैं।

पोर्ट 80 के अनुरोध एक सामने के छोर या दूसरे पर बेतरतीब ढंग से पहुंचेंगे। इस तरह के कॉन्फ़िगरेशन का परिणाम अपरिभाषित है, और यद्यपि तकनीकी रूप से मैं मान्य नहीं हूं, यह सभी व्यावहारिक उद्देश्यों के लिए एक निरर्थक कॉन्फ़िगरेशन है।

पोर्ट 80 (या किसी भी पोर्ट) पर लागू होने वाले सभी नियमों को एकल frontend(या एकल listen) पर निर्दिष्ट करने की आवश्यकता है जो पोर्ट 80 के लिए बाध्य है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.