Squid फ़ॉरवर्ड प्रॉक्सी के लिए HAProxy स्वास्थ्य जाँच
एक HAProxy स्वास्थ्य जाँच बनाएँ जो फ़ॉरवर्ड प्रॉक्सी से बात करे और लिसनर की पहुँच, CONNECT स्वीकृति तथा मूल से प्राप्ति में अंतर करे।
प्रॉक्सी होस्ट पर /check.txt नाम की फ़ाइल स्वास्थ्य का स्पष्ट लक्ष्य लगती है। पेच यह है कि Squid का स्पष्ट फ़ॉरवर्ड लिसनर उस होस्ट का दस्तावेज़-रूट परोसने वाली सामान्य वेबसाइट नहीं है।
HEAD /check.txt HTTP/1.1 जैसी मूल-शैली की अनुरोध फ़ॉरवर्ड प्रॉक्सी से होकर जाने वाले सामान्य HTTP अनुरोध के लिए अपेक्षित निरपेक्ष लक्ष्य छोड़ देता है। कॉन्फ़िगरेशन के अनुसार इसे अस्वीकार किया जा सकता है या कोई अन्य स्थानीय सेवा इसे संभाल सकती है। दोनों में से कोई भी परिणाम डैशबोर्ड के संकेत से कम बता सकता है।
वह सेवा चुनें जिसे उपलब्ध रखना है
| जाँच | उपयोगी प्रमाण |
|---|---|
| प्रॉक्सी लिसनर से TCP कनेक्शन | पहुँच योग्य प्रक्रिया उस कनेक्शन को स्वीकार करती है। |
| नियंत्रित लक्ष्य से CONNECT | प्रॉक्सी उस टनल अनुरोध को स्वीकार करता है। |
| प्रॉक्सी के माध्यम से HTTP प्राप्ति | चुना गया अनुरोध पथ अपेक्षित प्रतिक्रिया लौटा सकता है। |
तीसरे मामले में अनुरोध को लक्ष्य चाहिए, उदाहरण के लिए:
HEAD http://probe.example.internal/proxy-ready HTTP/1.1
Host: probe.example.internal
होस्टनाम केवल उदाहरण है। ऐसा नियंत्रित एंडपॉइंट उपयोग करें जिसे प्रॉक्सी हल कर सके और जहाँ पहुँचने की अनुमति जानबूझकर दी गई हो। HAProxy का http-check send विधि, URI, संस्करण और हेडर चुनने का समर्थन करता है; मूल-सर्वर के उदाहरण को अपरिवर्तित विरासत में लेने के बजाय उस अनुरोध को स्पष्ट रूप से कॉन्फ़िगर करें।
HEAD प्रतिक्रिया की स्थिति और हेडर जाँच सकता है। जो प्रतिक्रिया-निकाय कभी स्थानांतरित नहीं होता, उसे यह मान्य नहीं कर सकता। यदि स्वास्थ्य अनुबंध निकाय में चिह्न माँगता है, तो उपयुक्त GET जाँच चुनें और उस चिह्न को मान्य करें।
जब प्रॉक्सी प्रमाणीकरण शामिल हो तो जाँच खाते और स्रोत प्रतिबंध संकीर्ण रखें। हरा चिह्न पाने के लिए पूरे लिसनर को प्रमाणीकरण से छूट देना उस सेवा को बदल देता है जिसकी रक्षा की जा रही है।
अंत में तय करें कि विफल जाँच को क्या हटाना चाहिए। नियंत्रित मूल में रुकावट एक साथ हर प्रॉक्सी की फ़ॉरवर्डिंग जाँच विफल कर सकती है। हो सकता है वही निर्भरता हो जिसे आप मापना चाहते हैं, या लिसनर स्वास्थ्य और एंड-टू-एंड उपलब्धता को अलग संकेतों के रूप में रखने का कारण हो।