Yük dengeleyiciler, birden fazla sunucu arasında gelen trafiği dağıtarak web sitelerinin ve uygulamaların performansını ve kullanılabilirliğini iyileştirmeye yardımcı olan araçlardır. Ubuntu’da popüler bir yük dengeleyici çözümü olan HAProxy’yi kullanarak kendi yük dengeleyicinizi kurabilirsiniz.
Bu makalede, Ubuntu’da HAProxy’nin temel kurulumunu ve yapılandırmasını öğreneceksiniz. Ayrıca, HAProxy’ye SSL desteği eklemeyi de öğreneceksiniz.
HAProxy Kurulumu
Ubuntu paket yöneticisi aracılığıyla HAProxy’yi kurmak için aşağıdaki komutu kullanın:
sudo apt update
sudo apt install haproxy
Yapılandırma Dosyasını Düzenleme
HAProxy’nin yapılandırma dosyasını düzenlemek için aşağıdaki komutu kullanın:
sudo nano /etc/haproxy/haproxy.cfg
Bu dosya, HAProxy’nin nasıl çalışacağını belirler.
Örnek Yapılandırma
İki web sunucusuna sahip bir yük dengeleyici için örnek bir yapılandırma aşağıdaki gibidir:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend web
bind *:80
mode http
default_backend servers
backend servers
mode http
balance roundrobin
server server1 192.168.1.101:80 check
server server2 192.168.1.102:80 check
Bu yapılandırmada, HAProxy gelen tüm HTTP trafiğini servers
arka plan sunucularına dağıtacaktır.
SSL Desteği Ekleme
HAProxy’ye SSL desteği eklemek için, frontend
bölümünde mode
değerini https
olarak değiştirin ve backend
bölümünde balance
değerini roundrobin
olarak bırakın. Ayrıca, server
bölümlerinde ssl_certificate
ve ssl_certificate_key
değerlerini eklemeniz gerekir. Bu değerler, sunucunuzun SSL sertifikası ve anahtarını belirtir.
Örnek bir yapılandırma aşağıdaki gibidir:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
frontend web
bind *:443 ssl crt /etc/haproxy/ssl/cert.pem key /etc/haproxy/ssl/key.pem
mode https
default_backend servers
backend servers
mode http
balance roundrobin
server server1 192.168.1.101:80 check
server server2 192.168.1.102:80 check
Bu yapılandırma, web sunucularına gelen tüm trafiği SSL üzerinden yönlendirecektir.