HAProxy
  • Giriş
  • Nedir?
  • Ne Değildir?
  • Nasıl Çalışır?
  • Kurulum
    • Kaynak Kod ile Derlemek
    • Sunucu için HAProxy Kurulumu
    • Paket Yöneticisi ile Kurulumu
  • Temel Yapı ve Terimler
    • Format
    • Global
    • Defaults
    • Frontend
    • Backend
    • Örnek Konfigürasyon
  • SSL Termination
    • Giriş
    • SSL Termination Faydaları
    • HAProxy ile SSL'yi etkinleştirme
    • HTTP'den HTTPS'e yönlendirme
    • SSL Sürümlerini Sınırlama
    • Sertifikaları Sınırlama
    • SNI ile Sertifika Seçimi
    • EC ve RSA Destekleme
    • İstemci Sertifikaları
  • ACL
    • Giriş
    • Format
    • Fetches
    • Converters
    • Flags
    • Matching methods
  • Maps
    • Format
    • Converters
    • Map Güncellemek
      • Dosyayı Doğrudan Düzenleme
      • lb-update Modülü Kullanarak
      • Runtime API Kullanarak
      • http-request set-map
  • Multithreading
    • Giriş
    • Multiprocess to Multithreading
    • Multithreading Desteği
    • Multithreading Yapılandırma
  • Prometheus Metrics
    • Giriş
    • Native Prometheus Desteği
    • Prometheus ile Derlemek
    • HAProxy'yi Yapılandırma
    • HAProxy Exporter
  • Stats Page
    • Giriş
  • Kaynak
Powered by GitBook
On this page

Was this helpful?

Nedir?

PreviousGirişNextNe Değildir?

Last updated 5 years ago

Was this helpful?

Yüksek Kullanılabilirlikli Proxy (High Availability Proxy) anlamına gelen , Linux, Solaris ve FreeBSD üzerinde çalıştırılabilen popüler bir açık kaynaklı yazılım, TCP/HTTP Yük Dengeleyici ve proxy çözümüdür.

En yaygın kullanımı, iş yükünü birden çok sunucuya (örneğin web, veritabanı) dağıtarak sunucu ortamının performansını ve güvenilirliğini artırmaktır. GitHub, Imgur, Instagram ve Twitter da dahil olmak üzere birçok yüksek trafiğe sahip ortamda kullanılır.

HAProxy aşağıdakileri yapmanızı sağlar.

TCP Proxy: Bir port üzerinden TCP bağlantısı kabul edebilir, bir sunucuya bağlanabilir ve bu portları birbirine bağlayarak trafiğin her iki yönde de akmasına izin verebilir.

HTTP Reverse Proxy: İstemci (client) ile sunucu arasındaki istekleri alan, onları sunucuya yollayan ve son olarak da proxy sunucunun kendisinden gelmiş gibi yanıtları istemciye ileten bir aracı olarak çalışır. Burada istemci ana sunucuya doğrudan bir istek yapmaz isteği proxy sunucu yapar ve aldığı cevabı istemciye döner.

SSL terminator/initiator/offloader: İstemciden gelen bağlantıda, sunucuya giden bağlantıda ve hatta her iki bağlantıda SSL/TLS kullanılabilir.

HTTP Normalizer: HTTP trafiğini işlemek için yapılandırıldığında, yalnızca geçerli istekler iletilir. Bu, birçok protokol tabanlı saldırıya karşı koruma sağlar. Örneğin belli bir Header değerine sahip olan istekler iletilir.

HTTP Fixing: URL'yi veya herhangi bir istek veya yanıt Header değerini değiştirebilir, ekleyebilir, kaldırabilir, yeniden yazabilir.

Content-Based Switch: İsteği veya bağlantıyı hangi sunucunun geçeceğine karar vermek için istekteki herhangi bir öğeyi dikkate alarak karar verebilir. Böylece, aynı bağlantı noktası (örn. HTTP, HTTPS, SSH) üzerinde birden çok protokolün işlenmesi mümkündür.

Load Balancer: TCP modunda, tüm bağlantı için yük dengeleme kararları alınır. HTTP modunda, kararlar istek başına alınır.

Traffic Regulator: Çeşitli durumlarda bazı hız sınırlamaları uygulayabilir, sunucuları aşırı yüklemeye karşı koruyabilir, içeriğe göre trafik önceliklerini ayarlayabilir ve paketleri işaretleyerek bu katmanları alt katmanlara ve dış ağ bileşenlerine aktarabilir.

DDoS Protection: IP adresi, URL, çerez vb. baz alınarak çok sayıda istatistik tutabilir ve kötüye kullanım olup olmadığını tespit edebilir, ardından başka bir yere gönderebilir veya engelleyebilir.

HTTP Compression Offloader: Sunucu tarafından sıkıştırılmayan yanıtları sıkıştırabilir, böylece bağlantısı zayıf olan veya yüksek gecikmeli mobil ağ kullanan istemciler için sayfa yükleme süresini azaltabilir.

HAProxy