Fedora 41
Sponsored Link

HAProxy : HTTP लोड संतुलन2024/11/14

 

लोड बैलेंसिंग सर्वर को कॉन्फ़िगर करने के लिए HAProxy स्थापित करें।
यह उदाहरण निम्न प्रकार से पर्यावरण पर आधारित है।

-----------+---------------------------+--------------------------+------------
           |                           |                          |
           |10.0.0.30                  |10.0.0.51                 |10.0.0.52
+----------+-----------+   +-----------+----------+   +-----------+----------+
|   [ dlp.srv.world ]  |   | [ node01.srv.world ] |   | [ node02.srv.world ] |
|        HAProxy       |   |      Web Server#1    |   |      Web Server#2    |
+----------------------+   +----------------------+   +----------------------+

 

सर्वर को कॉन्फ़िगर करें कि HAProxy सर्वर से HTTP कनेक्शन को बैकएंड वेब सर्वर पर अग्रेषित किया जाता है।

[1] HAProxy स्थापित करें।
[root@dlp ~]#
dnf -y install haproxy
[2] HAProxy कॉन्फ़िगर करें।
[root@dlp ~]#
vi /etc/haproxy/haproxy.cfg
# मौजूदा [frontend ***] [backend ***] अनुभागों के लिए सभी टिप्पणी करें
# और अंत में अनुसरण जोड़ें
# फ्रंटएंड को परिभाषित करें ([http-in] के लिए कोई भी नाम ठीक है)
frontend http-in
    # सुनो 80 पोर्ट
    bind *:80
    # डिफ़ॉल्ट बैकएंड सेट करें
    default_backend    backend_servers
    # एक्स-फॉरवर्डेड-फॉर हेडर भेजें
    option             forwardfor

# बैकएंड को परिभाषित करें
backend backend_servers
    # राउंड रॉबिन के साथ संतुलन
    balance            roundrobin
    # बैकएंड सर्वर को परिभाषित करें
    server             node01 10.0.0.51:80 check
    server             node02 10.0.0.52:80 check

[root@dlp ~]#
systemctl enable --now haproxy

[3] यदि Firewalld चल रहा है, तो पोर्ट HAProxy को सुनने की अनुमति दें।
[root@dlp ~]#
firewall-cmd --add-service=http

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[4] HAproxy की डिफ़ॉल्ट सेटिंग द्वारा, लॉग को [local2] सुविधा पर भेजा जाता है, इसलिए इसे फ़ाइल में रिकॉर्ड करने के लिए Rsyslog को कॉन्फ़िगर करें।
[root@dlp ~]#
vi /etc/rsyslog.conf
# पंक्ति 32, 33 : टिप्पणी हटाएँ और एक पंक्ति जोड़ें

module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
$AllowedSender UDP, 127.0.0.1
# पंक्ति 48 : इस प्रकार परिवर्तन करें

*.info;mail.none;authpriv.none;cron.none;local2.none    /var/log/messages
local2.*                                                /var/log/haproxy.log

[root@dlp ~]#
systemctl restart rsyslog

[5] X-Forwarded-For हेडर लॉगिंग करने के लिए बैकएंड वेब सर्वर (इस उदाहरण पर Apache httpd) पर सेटिंग्स बदलें।
[root@node01 ~]#
vi /etc/httpd/conf/httpd.conf
# पंक्ति 201, 202 : इस प्रकार परिवर्तन करें

LogFormat "
\"%{X-Forwarded-For}i\"
%l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "
\"%{X-Forwarded-For}i\"
%l %u %t \"%r\" %>s %b" common
[root@node01 ~]#
systemctl restart httpd

[6] फ्रंटएंड HAproxy सर्वर तक पहुंचने के लिए सामान्य रूप से काम करने की पुष्टि करें।
मिलान सामग्री