Merhaba Dostlar, Linux tabanlı sunucular için kullanılan Open Source Reverse Proxy Servers konusuna odaklanacağız. Bu güçlü araçlar, web sitelerinizin performansını artırmak, güvenliği sağlamak ve trafik yönetimini optimize etmek için önemli bir rol oynarlar.
Open Source Reverse Proxy Servers Nedir?
Reverse Proxy, istemciler ve bir veya daha fazla sunucu arasında yer alan bir ara sunucudur. Gelen istekleri alır, bunları işler ve ardından ilgili sunucuya iletir. Bu, web uygulamalarınızın daha güvenli, daha hızlı ve daha ölçeklenebilir olmasına olanak tanır.
Linux Sunucular İçin Open Source Reverse Proxy Sunucuların Önemi
- Performans Artışı: Ters proxy sunucular, ön bellekleme, sıkıştırma ve diğer optimizasyon teknikleri kullanarak web sitelerinin yanıt sürelerini artırabilir.
- Güvenlik: SSL/TLS terminasyonu, saldırı tespiti ve koruma gibi güvenlik özellikleri, ters proxy sunucularının web uygulamalarınızı koruma yeteneklerini güçlendirir.
- Trafik Yönetimi: Load balancing, içerik anahtarlaması ve hata toleransı gibi özellikler, trafiği dengeler ve sunucu kaynaklarını optimize eder.
HAProxy – (TCP/HTTP Yük Dengeleyici)
- HAProxy – (TCP/HTTP Yük Dengeleyici) HAProxy (High Availability Proxy’nin kısaltması), TCP ve HTTP tabanlı uygulamalar için ücretsiz, açık kaynaklı, çok hızlı, güvenilir ve birinci sınıf bir yük dengeleyici ve proxy yazılımıdır, yüksek erişilebilirlik için tasarlanmıştır.HAProxy, HTTP ters proxy, TCP proxy ve normalleştirici, SSL/TLS sonlandırıcı/başlatıcı/boşaltıcı, önbellekli proxy, HTTP sıkıştırma boşaltıcı, trafik düzenleyici, içerik tabanlı anahtarlayıcı, FastCGI geçidi ve daha birçok özelliğe sahiptir. Ayrıca DDoS ve hizmet kötüye kullanımına karşı bir koruma aracıdır.Olay tabanlı, bloke etmeyen bir motor tarafından desteklenir ve çok hızlı I/O katmanını bir öncelik tabanlı, çok iplikli bir zamanlayıcı ile birleştirir, bu da onun on binlerce eşzamanlı bağlantıyla kolayca başa çıkmasını sağlar. Özellikle, HAProxy, PROXY protokolünü kullanarak istemcinin bağlantı bilgilerini arka uç veya kök sunucularına iletmek için kullanılır, böylece bir uygulama tüm ilgili bilgileri alır. HAProxy’nin temel özellikleri arasında proxy, SSL desteği, sunucu durumlarını ve durumlarını izleme, yüksek erişilebilirlik, yük dengeleme, yapışkanlık (ziyaretçiyi çeşitli etkinlikler boyunca aynı sunucuda tutma), içerik anahtarlaması, HTTP yeniden yazma ve yönlendirme, sunucu koruması, günlükleme, istatistikler ve çok daha fazlası bulunmaktadır.

NGINX – (HTTP ve Ters Proxy Web Sunucusu)
- NGINX – (HTTP and Reverse Proxy Web Server) NGINX, ücretsiz, açık kaynaklı, yüksek performanslı ve çok popüler bir HTTP sunucusu ve ters proxy’dir. Aynı zamanda bir IMAP/POP3 proxy sunucusu olarak da çalışır. NGINX, yüksek performansı, kararlılığı, zengin özellik seti, basit ve esnek yapılandırma ve düşük kaynak tüketimi (özellikle küçük bellek ayak izi) ile tanınır. HAProxy gibi NGINX’in olay tabanlı bir mimarisi vardır, bu nedenle on binlerce eşzamanlı bağlantıyla başa çıkmakta sorun yaşamaz, çünkü HAProxy’nin PROXY protokolünü kullanır. NGINX, ngx_http_proxy_module modülünü kullanarak önbellekli hızlandırılmış ters proxying’i destekler, bu da başka HTTP dışındaki protokoller üzerinden (FastCGI, uwsgi, SCGI ve Memcached gibi) başka bir sunucuya talepleri geçirmenize izin verir. Önemli bir şekilde, yük dengelemeyi ve hata toleransını destekler, bu da büyük ölçekli dağıtık hesaplama sistemlerinin hayati unsurlarıdır. ngx_http_upstream_module modülü, istemcilerden gelen talepleri dağıtmak için arka uç sunucu gruplarını tanımlamak için kullanılır. Bu, uygulamalarınızı daha sağlam, kullanılabilir ve güvenilir, yanıt süresi ve verimlilik açısından yüksek ölçeklenebilir, hale getirir. Ek olarak, güvenlikle ilgili olarak, SSL/TLS sonlandırmayı ve birçok diğer güvenlik özelliklerini destekler.

Varnish – (Ters Önbellekli Proxy)
- Varnish – (Ters Önbellekli Proxy) Varnish HTTP Cache (veya Varnish Cache veya basitçe Varnish), HTTP performansını, sunucu tarafında önbellek kullanarak iyileştirmeyi amaçlayan ücretsiz, açık kaynaklı, yüksek performanslı ve çok popüler bir önbellekli ters proxy yazılımıdır. Bir istemci ve bir HTTP web sunucusu veya uygulama sunucusu arasına yerleştirilir; bir istemci bir web sunucusundan bilgi veya kaynak istediğinde, Varnish bilgiyi bir kopyasını saklar. Bu nedenle bir sonraki sefer istemci aynı bilgiyi istediğinde, Varnish, sunucuya bir istek göndermeden onu hizmet eder. Bu da sunucudaki yükü azaltır ve dolayısıyla web içeriğinin teslimatını hızlandırır. Varnish, Varnish Configuration Language (VCL) olarak bilinen esnek bir yapılandırma dilini kullanır; bu, sistem yöneticilerinin gelen isteklerin nasıl işlenmesi gerektiğini, hangi içeriğin hizmet edilmesi gerektiğini ve nereden ve nasıl isteğin veya yanıtın değiştirileceğini yapılandırmalarına olanak tanır ve çok daha fazlasını yapar.Varnish ayrıca genişletilebilir bir yapıya sahiptir. Varnish Modülleri (VMOD’lar) kullanılarak genişletilebilir ve kullanıcılar özel modüllerini yazabilir veya topluluk tarafından sağlanan modülleri kullanabilir.Varnish’ın ana sınırlaması, SSL/TLS’yi desteklememesidir. HTTPS’yi etkinleştirmenin tek yolu, önünde HAProxy veya NGINX gibi bir SSL/TLS sonlandırıcı veya boşaltıcı kullanmaktır.
Træfɪk – (Bulut İçin Uygulama Proxy’si)
- Træfɪk – (Bulut İçin Uygulama Proxy’si) Træfɪk (Traffic olarak okunur), mikro-servislerin dağıtılması için çoklu yük dengeleme algoritmalarını destekleyen ücretsiz, açık kaynaklı, modern ve hızlı bir HTTP ters proxy ve yük dengeleyicisidir. Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm ve Zookeper gibi çeşitli sağlayıcılarla etkileşim kurabilir.En sevilen özelliği, yapılandırmasını otomatik ve dinamik olarak yönetme yeteneğidir, böylece hizmetleriniz için doğru yapılandırmayı keşfeder. Bunun nedeni, altyapınızı tarayarak ilgili bilgileri bulması ve hangi servisin dünya dışından hangi isteği karşıladığını keşfetmesidir. Sağlayıcılar, Træfɪk’e uygulamalarınızın veya mikro-servislerinizin nerede bulunduğunu bildirir.Træfɪk’in diğer özellikleri, WebSockets, HTTP/2 ve GRPC’yi destekleme, sıcak yeniden yükleme (yeniden başlatma olmadan sürekli olarak yapılandırmasını günceller), Let’s Encrypt sertifikalarını kullanarak HTTPS (joker sertifika desteği), bir REST API’si sunma ve günlükleri tutma, metrikleri sunma (Rest, Prometheus, Datadog, Statsd, InfluxDB).Ayrıca, Træfɪk, olayları gözlemlemek için kullanılan basit bir HTML tabanlı web kullanıcı arayüzü ile birlikte gelir. Ayrıca devre kesicileri, yeniden deneme istekleri, hız sınırlama ve temel kimlik doğrulama gibi özellikleri destekler.
Apache Traffic Server
- Apache Traffic Server – (Ters ve İleri Proxy Sunucusu) Daha önce Yahoo’ya ait bir ticari ürün olan ve daha sonra Apache Vakfı’na devredilen Apache Traffic Server, ücretsiz, açık kaynaklı ve hızlı bir önbellekli ileri ve ters-proxy sunucusudur. Traffic Server aynı zamanda bir yük dengeleyici olarak çalışır ve esnek önbellek hiyerarşilerine katılabilir. Yahoo’da günde 400 TB’nin üzerinde trafiği ele aldığı bilinmektedir. Keep-alive, filtreleme veya içerik isteklerinin anonimleştirilmesi gibi bir dizi özelliğe sahiptir ve HTTP başlıklarını değiştirmek, ESI istekleri ile başa çıkmak veya yeni önbellek algoritmaları tasarlamak için kullanıcılara özel eklentiler oluşturabilme olanağı sağlayan bir API ile genişletilebilir.
Squid
- Squid – (Önbellekleme ve İleri Yönlü HTTP Proxy) Squid, çeşitli protokolleri destekleyen ücretsiz, açık kaynaklı ve iyi bilinen bir proxy sunucusu ve Web önbellek servisidir, HTTP, HTTPS, FTP ve daha fazlasını destekler. Gelen veriler için çıkış yapılabilen bir ters proxy (httpd-hızlandırıcı) modu içerir.Zengin trafik optimizasyon seçenekleri, erişim kontrolü, yetkilendirme, günlükleme olanakları ve daha fazlasını destekler.
Konuyu özetlersek
Konuyu toparlarsak Linux sunucular için Open Source Reverse Proxy Servers hayat kurtarcı araçlarımızın bir listesini vermektedir. Performans artırma, güvenliği sağlama ve trafik yönetimi konularında bu araçlar nasıl kullanılır, avantajları nelerdir, nelere dikkat edilmelidir gibi soruları işleyeceğiz.
Linux sunucularınızı daha etkili yönetmek ve web uygulamalarınızı optimize etmek istiyorsanız, bu blog serisi sizin için olabilir. Takipte kalın!