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