Install HAProxy Ubuntu 20.04 LTS

Install HAProxy Ubuntu 20.04 LTS
Install HAProxy Ubuntu 20.04 LTS Server
HAProxy

HAProxy adalah sebuah produk opensource yang dibuat secara khusus untuk dapat melakukan pembagian request ke arah server. HA sendiri singkatan dari High Availability, yang secara teknis artinya adalah kondisi tidak akan mati saat salah satu sumber server mengalami kondisi down atau overload. Pada gambar di bawah digambarkan sebuah susunan topologi server lengkap dengan backend maupun proxy (frontend). Proxy sebenarnya dapat menggunakan seluruh HTTP server seperti Apache dan Nginx. Namun HAProxy memang telah didesain untuk secara khusus mengatur tentang load balancing saja.

HAProxy : HTTP Load Balancing

Instal HAProxy untuk mengkonfigurasi Load Balancing Server. Contoh ini didasarkan pada lingkungan seperti berikut.

-----------+---------------------------+--------------------------+------------
           |                           |                          |
           |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    |
+----------------------+   +----------------------+   +----------------------+

Konfigurasikan Server agar koneksi HTTP ke HAProxy Server diteruskan ke Server Web backend.

  1. Install HAProxy.
    root@dlp:~# apt -y install haproxy
  2. Konfigurasi HAPproxy
    root@dlp:~# vi /etc/haproxy/haproxy.cfg
    # add to the end
    # define frontend ( any name is OK for [http-in] )
    frontend http-in
            # listen 80 port
            bind *:80
            # set default backend
            default_backend    backend_servers
            # send X-Forwarded-For header
            option             forwardfor
    
    # define backend
    backend backend_servers
            # balance with roundrobin
            balance            roundrobin
            # define backend servers
            server             node01 10.0.0.51:80 check
            server             node02 10.0.0.52:80 check
    
    root@dlp:~# systemctl restart haproxy
  3. Ubah pengaturan pada server Web Backends ke logging X-Forwarded-For header. Berikut ini untuk kasus pengaturan Apache2, jika Anda menggunakan Nginx, lihat di sini [3].
    root@node01:~# a2enmod remoteip
    Enabling module remoteip.
    To activate the new configuration, you need to run:
      service apache2 restart
    
    root@node01:~# vi /etc/apache2/apache2.conf
    # line 212-215 : change like follows
    # for RemoteIPInternalProxym, specify HAProxy IP address
    RemoteIPHeader X-Forwarded-For
    RemoteIPInternalProxy 10.0.0.30
    LogFormat "%v:%p %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    
    root@node01:~# systemctl restart apache2
  4. Pastikan berfungsi normal untuk mengakses server HAproxy frontend.
DANS Media
Paham Ilmu, Kesehatan, dan Pengetahuan, tertarik dengan Financial Technology, mengajak banyak orang agar paham akan Ilmu dan Pengetahuan

Post a Comment

© DANS Media. All rights reserved. Distributed by DANS Media