Έλεγχοι υγείας HAProxy για διαμεσολαβητή προώθησης Squid
Κατασκευάστε έναν έλεγχο υγείας 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
Το όνομα κεντρικού υπολογιστή είναι ενδεικτικό. Χρησιμοποιήστε ένα ελεγχόμενο τελικό σημείο που ο διαμεσολαβητής μπορεί να επιλύσει και στο οποίο επιτρέπεται σκόπιμα να φτάσει. Το http-check send του HAProxy υποστηρίζει την επιλογή μεθόδου, URI, έκδοσης και κεφαλίδων· διαμορφώστε αυτό το αίτημα ρητά αντί να κληρονομήσετε αμετάβλητο ένα παράδειγμα διακομιστή προέλευσης.
Το HEAD μπορεί να ελέγξει κατάσταση απόκρισης και κεφαλίδες. Δεν μπορεί να επικυρώσει σώμα απόκρισης που δεν μεταφέρεται ποτέ. Αν το συμβόλαιο υγείας απαιτεί δείκτη στο σώμα, επιλέξτε κατάλληλο έλεγχο GET και επικυρώστε αυτόν τον δείκτη.
Κρατήστε τον λογαριασμό ελέγχου και τους περιορισμούς πηγής στενούς όταν εμπλέκεται έλεγχος ταυτότητας διαμεσολαβητή. Η εξαίρεση ολόκληρου του ακροατή από τον έλεγχο ταυτότητας για ένα πράσινο σημάδι αλλάζει την υπηρεσία που προστατεύεται.
Τέλος, αποφασίστε τι πρέπει να αφαιρεί ένας αποτυχημένος έλεγχος. Μια ελεγχόμενη διακοπή προέλευσης μπορεί να κάνει τον έλεγχο προώθησης κάθε διαμεσολαβητή να αποτύχει ταυτόχρονα. Αυτό μπορεί να είναι ακριβώς η εξάρτηση που θέλετε να μετρήσετε ή λόγος να κρατήσετε την υγεία του ακροατή και τη διαθεσιμότητα από άκρη σε άκρη ως ξεχωριστά σήματα.