Reverse Proxy Nedir?
İngilizce: Reverse Proxy
Reverse proxy, istemci trafiğini arka uç sunuculara ileten; TLS sonlandırma, önbellek, yönlendirme ve yük dengeleme yapan ara katmandır.
Reverse Proxy Nedir?
Reverse proxy, kullanıcıdan gelen isteği önce karşılayan ve uygun arka uç sunucuya ileten ara katmandır. Kullanıcı example.com adresine bağlanır; isteğin hangi uygulama sunucusuna, container’a veya statik dosya kaynağına gideceğine reverse proxy karar verir.
Nginx, HAProxy, Caddy ve bazı CDN servisleri bu rolde kullanılabilir. Forward proxy kullanıcının dış dünyaya çıkışını temsil ederken reverse proxy sunucu tarafını dış dünyaya karşı temsil eder.
Nasıl Çalışır?
Bir reverse proxy aşağıdaki görevleri üstlenebilir:
- TLS sonlandırma: HTTPS sertifikasını yönetip arka uçla HTTP veya ayrı TLS üzerinden konuşmak
- Yönlendirme:
/api,/adminveya farklı domainleri ayrı servislere dağıtmak - Önbellekleme: Statik veya cache’lenebilir yanıtları arka uca gitmeden servis etmek
- Sıkıştırma: Yanıtları gzip veya Brotli ile küçültmek
- Erişim kontrolü: IP kısıtı, rate limit veya temel kimlik doğrulama uygulamak
Trafik dağıtımı daha gelişmiş hale geldiğinde reverse proxy, load balancer davranışı da gösterebilir.
İş Dünyasında Kullanımı
Reverse proxy, tek domain altında birden fazla uygulama çalıştırmak, eski sistemi yeni servislerle yan yana taşımak veya arka uç sunucuların gerçek adreslerini gizlemek için kullanılır. Ayrıca blue-green deployment ve bakım ekranı gibi operasyonel geçişleri kolaylaştırır.
API gateway ile kesiştiği noktalar vardır; fakat API gateway çoğu zaman kimlik doğrulama, kota, geliştirici portalı ve servis sözleşmesi gibi API’ye özel yetenekler ekler. Reverse proxy daha genel bir trafik yönlendirme katmanıdır.
İlgili Terimler
API Gateway, istemciler ile servisler arasına girerek yönlendirme, kimlik doğrulama, kota, gözlemleme ve sürümleme görevlerini toplar.
Load BalancerLoad balancer, gelen ağ trafiğini birden fazla sunucu arasında dağıtarak yüksek erişilebilirlik ve performans sağlayan sistem bileşenidir.
NginxNginx, olay güdümlü mimarisiyle statik içerik sunan, reverse proxy yapan ve trafiği birden çok sunucuya dağıtan web sunucusudur.