VPS Sunucuda HAProxy SSL Termination

VPS sunucularında HAProxy kullanarak SSL termination uygulamak, web uygulamalarınızın güvenliğini ve performansını önemli ölçüde artıran bir yaklaşımdır.

Reklam Alanı

VPS sunucularında HAProxy kullanarak SSL termination uygulamak, web uygulamalarınızın güvenliğini ve performansını önemli ölçüde artıran bir yaklaşımdır. Bu yöntemle, SSL/TLS şifrelemesini yük dengeleyici katmanında sonlandırarak backend sunucularınıza düz HTTP trafiği yönlendirebilirsiniz. Özellikle yüksek trafikli siteler için kaynak tasarrufu sağlar, CPU yükünü azaltır ve sertifika yönetimini merkezileştirir. Bu makalede, VPS ortamında HAProxy’nin kurulumundan yapılandırmasına kadar adım adım rehberlik sunacağız. Kurumsal düzeyde ölçeklenebilirlik arayan sistem yöneticileri için pratik ipuçları ve örnekler paylaşacağız.

HAProxy ve SSL Termination Temelleri

HAProxy, açık kaynaklı bir yük dengeleyici ve reverse proxy yazılımıdır. TCP ve HTTP tabanlı uygulamalar için yüksek erişilebilirlik sağlar. SSL termination ise, istemci bağlantılarındaki şifrelemeyi HAProxy’de sonlandırarak backend sunuculara şifresiz trafik gönderme işlemidir. Bu sayede backend’ler daha hafif çalışır ve birden fazla sunucu için tek bir sertifika yönetimi yeterlidir.

VPS sunucularda bu yapı, özellikle kaynak sınırlı ortamlarda idealdir. Örneğin, bir web uygulamanız varsa, HAProxy frontend’de SSL’i yönetir, trafiği backend Node.js veya PHP sunucularına dağıtır. Avantajları arasında gecikme azalması, merkezi logging ve kolay sertifika yenileme yer alır. Kurulum öncesi, Ubuntu veya CentOS gibi dağıtımlarda paket yöneticisini güncelleyin.

HAProxy’nin Özellikleri

HAProxy, ACL’ler (Access Control Lists) ile trafik yönlendirme kuralları tanımlamanıza, health check’ler ile backend sunucuların durumunu izlemenize olanak tanır. SSL termination için frontend ve backend bölümleri kullanılır. Frontend, 443 portunda SSL dinler; backend ise 80 portuna HTTP gönderir. VPS’te firewall kurallarını (ufw veya firewalld) buna göre ayarlayın: 443/tcp açın, 80/tcp’i isteğe bağlı tutun.

SSL Termination’ın Faydaları

Bu yaklaşım, backend sunucuların CPU’sunu %50’ye varan oranda rahatlatır çünkü şifreleme backend’de yapılmaz. Ayrıca, Let’s Encrypt gibi ücretsiz sertifikaları otomatik yenilemek için certbot entegrasyonu kolaylaşır. Güvenlik açısından, backend trafiği yerel ağda kaldığı için risk azalır. Pratikte, e-ticaret sitelerinde session persistence ekleyerek kullanıcı oturumlarını korursunuz.

VPS’te HAProxy Kurulumu ve Temel Yapılandırma

Ubuntu tabanlı VPS’te HAProxy kurmak için apt update && apt install haproxy komutunu çalıştırın. Ardından /etc/haproxy/haproxy.cfg dosyasını düzenleyin. Global bölümde log ayarları, defaults’ta timeout’lar tanımlayın. VPS kaynaklarını göz önünde bulundurarak maxconn değerini 10000 gibi ayarlayın. Servis yeniden başlatma: systemctl restart haproxy.

  1. Paketleri güncelleyin: sudo apt update && sudo apt upgrade.
  2. HAProxy yükleyin: sudo apt install haproxy.
  3. Yapılandırma dosyasını yedekleyin: sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak.
  4. Servis etkinleştirin: sudo systemctl enable haproxy.

Bu adımlar sonrası, haproxy -f /etc/haproxy/haproxy.cfg -c ile syntax kontrolü yapın. VPS’te SELinux varsa permissive moda alın.

Sertifika Hazırlığı

SSL sertifikası için certbot kullanın: sudo apt install certbot, ardından sudo certbot certonly –standalone -d orneksite.com. Bu, /etc/letsencrypt/live/orneksite.com/ altında fullchain.pem ve privkey.pem üretir. HAProxy cfg’sinde bind *:443 ssl crt /etc/letsencrypt/live/orneksite.com/ yolunu belirtin. Yenileme için cron job ekleyin: 0 12 * * * /usr/bin/certbot renew –quiet.

Backend Sunucu Tanımlama

Backend bölümünde server backend1 192.168.1.10:80 check olarak tanımlayın. Birden fazla backend için balance roundrobin kullanın. Health check ile arızalı sunucuları otomatik hariç tutun. VPS’te localhost backend’ler için 127.0.0.1:3000 gibi portlar belirleyin.

SSL Termination Uygulaması ve Optimizasyon

Yapılandırma örneği: frontend https-in bind *:443 ssl crt /path/to/cert/ crt-listen mode http. Backend’e use_backend web_servers if { hdr(host) -i orneksite.com }. HTTP/2 desteği için alpn h2,http/1.1 ekleyin. VPS performansı için tune.ssl.default-dh-param 2048 ayarlayın. Loglama için custom-log-format tanımlayın.

Test ve Doğrulama Adımları

Kurulumu test etmek için curl -k https://orneksite.com ile bağlanın, openssl s_client -connect orneksite.com:443 ile sertifika kontrolü yapın. HAProxy stats sayfası için stats enable ekleyin, tarayıcıdan http://vps-ip:8080/haproxy?stats erişin. Backend trafiğinin HTTP olduğunu tcpdump ile doğrulayın: sudo tcpdump -i any port 80.

Optimizasyon için OCSP stapling etkinleştirin: crt-ignore-err all. VPS belleğini izleyin: htop ile maxconn’a göre ayarlayın. Günlük rotasyonu için logrotate kullanın. Bu adımlar, üretim ortamında %20 trafik artışı için hazır hale getirir.

Sonuç olarak, VPS sunucuda HAProxy ile SSL termination, güvenli ve verimli bir altyapı sağlar. Adım adım uygulayarak, bakım yükünü azaltır ve ölçeklenebilirlik kazanırsınız. Düzenli güncellemeler ve monitoring ile uzun vadeli başarı elde edin. Bu yapılandırma, kurumsal web projelerinizde standart hale gelecektir.

Kategori: Genel
Yazar: Medyagen
İçerik: 580 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 07-03-2026
Güncelleme: 07-03-2026