Nedir?

Yüksek Kullanılabilirlikli Proxy (High Availability Proxy) anlamına gelen HAProxy, 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.

Last updated