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.