Load Balancing

Load balancing adalah teknik yang digunakan untuk mendistribusikan lalu lintas secara merata di antara beberapa server, meningkatkan kinerja, keandalan, dan ketersediaan aplikasi web. Nevabalancer adalah salah satu solusi load balancing yang mendukung algoritma Round Robin, Least Conn, atau Source IP serta mendukung protokol HTTP dan HTTPS.

Konfigurasi Webserver Apache2 HTTP/2 berbasis OS Ubuntu 22.04

Berikut contoh melakukan konfigurasi webserver Apache2 HTTP/2 berbasis OS Ubuntu 22.04: ​

Topologi

          +---------------------+
          |    Load Balancer    |
          |   (Nevabalancer)    |
          |   IP : 192.168.3.9  |
          +----------+----------+
                     |
    +----------------+----------------+
    |                                 |
+---v---+                         +---v---+
| VM1   |                         | VM2   |
|       |                         |       |
+-------+                         +-------+
192.168.3.10                      192.168.3.11
​

1. Instalasi Apache2

Pastikan Apache2 telah terinstal di server Anda. Jika belum, Anda dapat menginstalnya dengan perintah:

sudo apt update
sudo apt install apache2

2. Konfigurasi Apache2

  • Aktifkan Modul HTTP/2 , RemoteIP , SSL
a2enmod remoteip ssl http2

  • Menambahkan RemoteIPHeader untuk mendapatkan Real IP Client

​ edit /etc/apache2/apache2.conf

RemoteIPHeader X-Forwarded-For
​
LogFormat "%v:%p %h %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
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
​

  • Konfigurasi contoh < VirtualHost > HTTP
<VirtualHost IP Private VM1/VM2:80>
​
    ServerName Nama Domain
    DocumentRoot /var/www/html
​
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
​
</VirtualHost>

  • Konfigurasi contoh < VirtualHost > HTTPS
    • Protocols h2 http/1.1 : untuk mengaktifkan HTTP/2
    • RemoteIPTrustedProxy : IP Private Nevabalancer
<VirtualHost IP Private VM1/VM2:443>
​
    Protocols h2 http/1.1
​
    ServerName Nama Domain
    DocumentRoot /var/www/html
​
    RemoteIPTrustedProxy 192.168.3.9
​
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/domain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/private.key
    SSLCertificateChainFile /etc/apache2/ssl/domain-ca.crt
​
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
​
</VirtualHost>

  • Selanjutnya bisa melakukan restart services Apache2
systemctl restart apache2