LIONFIN

Sözlük

Reverse Proxy nedir?

Diğer adları: ters vekil sunucu, ters proxy, nginx reverse proxy, reverse proxy sunucu

Tanım

Reverse proxy (ters vekil sunucu), istemcilerden gelen istekleri karşılayıp arka plandaki bir ya da birden fazla uygulama sunucusuna ileten ve yanıtı istemciye geri döndüren aracı sunucudur. TLS sonlandırma, önbellekleme, sıkıştırma, yük dengeleme ve arka sunucuyu gizleme için kullanılır.

Reverse proxy ile forward proxy farkı nedir?

Forward proxy istemcinin adına çalışır; reverse proxy ise sunucunun adına çalışır. Bir şirketin çalışanlarının internete çıkışını denetleyen proxy bir forward proxy'dir ve dış dünya istemcinin kimliğini değil proxy'yi görür. Reverse proxy'de ise ziyaretçi yalnızca proxy'nin adresini görür; arkadaki Node.js, Python ya da Docker uygulamasının hangi portta çalıştığını bilmez.

  • TLS sonlandırma: SSL sertifikası proxy'de tutulur; arka uygulama düz HTTP ile çalışabilir.
  • Tek giriş noktası: Aynı sunucudaki birden çok uygulama alan adına ya da yola göre ayrıştırılır.
  • Önbellek ve sıkıştırma: Statik yanıtlar proxy'de önbelleğe alınır.
  • Güvenlik: Arka sunucu doğrudan internete açılmaz; WAF kuralları proxy'de uygulanabilir.

Reverse proxy nasıl kurulur?

Reverse proxy en yaygın olarak Nginx ile kurulur; Caddy, Traefik ve HAProxy da sık kullanılır. Nginx'te temel yapılandırma, bir server bloğundaki location içinde proxy_pass yönergesiyle istekleri uygulamanın yerel adresine (ör. 127.0.0.1:3000) iletmekten ibarettir.

  1. Uygulamayı yalnızca yerel adreste dinleyecek şekilde başlatın.
  2. Nginx'te alan adı için bir server bloğu açıp proxy_pass ile yerel porta yönlendirin.
  3. proxy_set_header ile Host, X-Forwarded-For ve X-Forwarded-Proto başlıklarını iletin; böylece uygulama ziyaretçinin alan adını, gerçek IP adresini ve HTTPS kullanıldığını bilir.
  4. SSL sertifikasını Nginx'e kurup nginx -t ile yapılandırmayı test ettikten sonra yeniden yükleyin.

Adım adım anlatım için Node.js uygulaması yayınlama ve Ubuntu Nginx kurulumu rehberlerine bakabilirsiniz. Reverse proxy'nin birden çok sunucuya dağıtım yapan hâli load balancer, dünya çapında dağıtılmış hâli ise CDN'dir. Kurulum için root erişimli bir VPS sunucu gerekir.

İlgili terimler

CDN
CDN (Content Delivery Network, içerik dağıtım ağı), bir web sitesinin görsel, stil, betik ve video gibi statik dosyalarını dünyanın farklı n...
Docker
Docker, bir uygulamayı tüm bağımlılıklarıyla birlikte imaj olarak paketleyip her Linux sunucuda aynı biçimde çalışan yalıtılmış konteynerler...
Load Balancer
Load balancer (yük dengeleyici), gelen istekleri birden fazla sunucuya belirli bir algoritmaya göre dağıtarak hiçbir sunucunun aşırı yüklenm...
WAF
WAF (Web Application Firewall, web uygulama güvenlik duvarı), bir web sitesine gelen HTTP ve HTTPS isteklerini inceleyerek SQL enjeksiyonu,...

← Tüm terimler