Πώς να ρυθμίσετε το HAProxy ως αντίστροφο διακομιστή μεσολάβησης

Pos Na Rythmisete To Haproxy Os Antistropho Diakomiste Mesolabeses



Όταν διαθέτετε διακομιστή ιστού, η ύπαρξη τρόπου προώθησης των αιτημάτων πελατών και της απάντησης του διακομιστή βοηθά στη διανομή της κυκλοφορίας και ενισχύει την ασφάλεια. Ένας αντίστροφος διακομιστής μεσολάβησης, όπως το HAProxy, λειτουργεί ως ενδιάμεσος μεταξύ της εφαρμογής web και των συσκευών-πελατών σας όταν ρυθμίζεται. Με αυτόν τον τρόπο, λαμβάνει τα αιτήματα των πελατών και τα προωθεί στον κατάλληλο διακομιστή ιστού ενώ λαμβάνει την απάντηση του διακομιστή και τα μεταδίδει στους πελάτες. Η διαμόρφωση του HAProxy στην πλευρά του διακομιστή σας ώστε να λειτουργεί ως ο αντίστροφος διακομιστής μεσολάβησης είναι μια απλή διαδικασία. Αυτή η ανάρτηση έχει αναλυτικά τα βήματα που πρέπει να κάνετε.

Γιατί να χρησιμοποιήσετε έναν αντίστροφο διακομιστή μεσολάβησης;

Πριν συζητήσουμε τα βήματα για τη διαμόρφωση του HAProxy ως αντίστροφου διακομιστή μεσολάβησης, ας επισημάνουμε γρήγορα γιατί ένας αντίστροφος διακομιστής μεσολάβησης λειτουργεί προς όφελός σας. Τα ακόλουθα είναι τα οφέλη που αποκομίζετε από τη χρήση του HAProxy ως αντίστροφου διακομιστή μεσολάβησης:

  1. Εξισορρόπηση φορτίου – Ο διακομιστής ιστού σας μπορεί, σε ένα σημείο, να έχει μια περίπτωση πολλών αιτημάτων πελατών που, εάν δεν αντιμετωπιστούν σωστά, μπορεί να υπερφορτωθούν, γεγονός που προκαλεί απροσδόκητο χρόνο διακοπής λειτουργίας. Ωστόσο, η διαμόρφωση ενός αντίστροφου διακομιστή μεσολάβησης διασφαλίζει ότι η κίνηση κατανέμεται στους διακομιστές υποστήριξης για να διασφαλιστεί ότι κανένας διακομιστής δεν υπερφορτώνεται με αιτήματα.
  2. Τείχος προστασίας και ασφάλεια – Ο αντίστροφος διακομιστής μεσολάβησης συνδέει τις συσκευές-πελάτες με τον διακομιστή web. Με αυτόν τον τρόπο μειώνεται ο κίνδυνος άμεσης έκθεσης των διακομιστών υποστήριξης στο διαδίκτυο. Με αυτόν τον τρόπο, μια κακόβουλη επισκεψιμότητα μπορεί εύκολα να φιλτραριστεί και να αποκλειστεί πριν βλάψει τους διακομιστές.
  3. Καλύτερη προσωρινή αποθήκευση - Με έναν αντίστροφο διακομιστή μεσολάβησης, θα παρατηρήσετε τη συνολική βελτίωση της απόδοσης, καθώς ο χρόνος φόρτωσης θα μειωθεί με την προσωρινή αποθήκευση του στατικού περιεχομένου. Επιπλέον, θα επιτύχετε καλύτερη εμπειρία χρήστη.
  4. Τερματισμός SSL/TLS – Με έναν αντίστροφο διακομιστή μεσολάβησης, η κρυπτογράφηση και η αποκρυπτογράφηση των συνδέσεων SSL/TLS γίνεται απρόσκοπτη και οι διακομιστές υποστήριξης δεν θα χρειαστεί να επωμιστούν αυτήν την εργασία, μειώνοντας το φόρτο τους.

Πώς να ρυθμίσετε το HAProxy ως αντίστροφο διακομιστή μεσολάβησης

Αφού εξηγήσαμε γιατί είναι απαραίτητος ένας αντίστροφος διακομιστής μεσολάβησης όπως το HAProxy, ας δώσουμε τα βήματα διαμόρφωσης που πρέπει να ακολουθήσετε.







Βήμα 1: Εγκαταστήστε το HAProxy



Πιθανότατα έχετε ήδη εγκατεστημένο το HAProxy στο σύστημά σας. Εάν ναι, παραλείψτε αυτό το βήμα. Ωστόσο, για κάποιον νέο σε αυτό, εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το HAProxy:



$ sudo apt install haproxy

Το έχουμε ήδη εγκαταστήσει στην περίπτωσή μας.





Βήμα 2: Επεξεργαστείτε το αρχείο διαμόρφωσης HAProxy



Το HAProxy έχει ένα αρχείο διαμόρφωσης στο οποίο πρέπει να αποκτήσετε πρόσβαση και να επεξεργαστείτε για να ρυθμίσετε τις παραμέτρους ως αντίστροφο διακομιστή μεσολάβησης. Ξεκινήστε ανοίγοντας το αρχείο διαμόρφωσης χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας κειμένου.

$ sudo nano /etc/haproxy/haproxy.cfg

Μόλις ανοίξει, σημειώστε ότι έχει βασικές διαμορφώσεις για τις προεπιλεγμένες και καθολικές ενότητες. Στη συνέχεια, πρέπει να δημιουργήσουμε δύο ακόμη ενότητες: frontend και backend. Το frontend ορίζει τις διεπαφές που θα πρέπει να λαμβάνουν τα αιτήματα των πελατών, ενώ το backend καθορίζει τους διακομιστές που θα χειρίζονται την κίνηση.

Για αυτό το παράδειγμα, διαμορφώνουμε το frontend ώστε να δέχεται τα αιτήματα πελάτη από τις θύρες 80 και 81. Στη συνέχεια, δημιουργούμε έναν κανόνα για την κατανομή της κυκλοφορίας έτσι ώστε οι συνδέσεις από τη θύρα 80 να δρομολογούνται σε έναν συγκεκριμένο διακομιστή ενώ αυτές από τη θύρα 81 να πηγαίνουν σε διαφορετικό υπηρέτης. Το τμήμα frontend μας είναι όπως φαίνεται παρακάτω:

Εφόσον δημιουργήσαμε δύο διακομιστές υποστήριξης, το backend2 και το linux_backend, πρέπει να δημιουργήσουμε τις ενότητες υποστήριξης και για τους δύο διακομιστές. Καθορίζουμε ποια IP θα διανεμηθεί η επισκεψιμότητα στον 'server1' και 'server2' για τον καθένα.

Μόλις επεξεργαστείτε το αρχείο διαμόρφωσης, αποθηκεύστε το και βγείτε από το αρχείο. Σημειώστε ότι υπάρχουν πολλοί τρόποι για να διαμορφώσετε το HAProxy ανάλογα με τις ανάγκες σας. Για την περίπτωσή μας, δημιουργούμε τους διακομιστές Ιστού χρησιμοποιώντας την καθορισμένη διεύθυνση IP για τη δρομολόγηση της επισκεψιμότητάς μας. Αλλάξτε τις διευθύνσεις IP ώστε να ταιριάζουν με αυτές των διακομιστών Ιστού σας και με ποια θύρα θέλετε να ακούσετε.

Βήμα 3: Επαληθεύστε την εγκυρότητα

Με το HAProxy, υπάρχει μια εντολή που σας επιτρέπει να επαληθεύσετε εάν το αρχείο ρυθμίσεων είναι έγκυρο. Εκτελέστε την ακόλουθη εντολή και δείτε τι έξοδο λαμβάνετε:

$ sudo χαπροξυ -c -f /etc/haproxy/haproxy.cfg

Εάν λάβετε παρόμοια έξοδο, επιβεβαιώνει ότι το αρχείο ρυθμίσεων είναι έγκυρο. Διαφορετικά, θα δημιουργήσει σφάλματα.

Βήμα 4: Δοκιμάστε τον αντίστροφο διακομιστή μεσολάβησης

Χρησιμοποιώντας μια εντολή όπως 'curl', μπορείτε να στείλετε μια κίνηση στον διακομιστή ιστού σας και να δείτε πώς ανταποκρίνεται. Για την περίπτωσή μας, χρησιμοποιούμε την Python3 για να δημιουργήσουμε τους διακομιστές Ιστού.

Η εκτέλεση της εντολής 'curl' επιβεβαιώνει ότι ο διακομιστής ιστού μας ακούει την καθορισμένη θύρα και ότι το HAProxy έχει διανείμει την κίνηση στον καθορισμένο διακομιστή με βάση το αρχείο διαμόρφωσής μας.

Μπορείτε επίσης να αποκτήσετε πρόσβαση στον διακομιστή ιστού σας σε ένα πρόγραμμα περιήγησης και να επιβεβαιώσετε ότι ο αντίστροφος διακομιστής μεσολάβησης λειτουργεί.

Εφόσον έχουμε δύο διακομιστές Ιστού που μπορούν να χρησιμοποιηθούν ανάλογα με τη θύρα που χρησιμοποιείται από τις συσκευές-πελάτες, ας συνδέσουμε έναν διαφορετικό διακομιστή ιστού σε μια διαφορετική θύρα και ας δούμε τι συμβαίνει.

Η ακόλουθη έξοδος δείχνει ότι το HAProxy έστειλε την επισκεψιμότητά μας στον δεύτερο διακομιστή υποστήριξης αφού εντόπισε ότι το αίτημα πελάτη στάλθηκε μέσω της θύρας 81, επιβεβαιώνοντας ότι η κατανομή της κυκλοφορίας λειτουργεί όπως αναμένεται.

Αυτός είναι ο τρόπος διαμόρφωσης του HAProxy ως αντίστροφου διακομιστή μεσολάβησης.

συμπέρασμα

Το HAProxy είναι μια εξαιρετική επιλογή για έναν αντίστροφο διακομιστή μεσολάβησης για τον διακομιστή ιστού σας. Η διαμόρφωσή του είναι απλή. Καθορίστε μόνο ποια θύρα θα ακούσετε για αιτήματα πελατών και ποιους κανόνες θα χρησιμοποιήσετε για την εξισορρόπηση φορτίου. Στη συνέχεια, προσθέστε τους διακομιστές υποστήριξης που θα χρησιμοποιήσετε και θα έχετε τον αντίστροφο διακομιστή μεσολάβησης σε λειτουργία. Αυτή η ανάρτηση κοινοποίησε τα βήματα που πρέπει να ακολουθήσετε και έδειξε ένα παράδειγμα για να διασφαλίσετε ότι θα είστε άνετοι με το HAProxy.