Ana içeriğe geç

Reverse Proxy

Türkçe karşılığı
ters proxy
Okunuşu
rivörs proksi

Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/reverse-proxy

Kısaca

Reverse proxy, web sunucularının önünde durup istemci isteklerini onlar adına kabul eden ve her isteği doğru arka uç sunucuya ileten bir sunucudur.

Reverse proxy nedir?

Reverse proxy, internet ile uygulama sunucularınız arasına yerleştirilen bir sunucudur. İstemciler reverse proxy'ye sanki web sitesinin kendisiymiş gibi bağlanır; proxy her isteği bir arka uç sunucuya iletir, yanıtı bekler ve istemciye geri verir. İstemci genellikle arka uç sunucuları hiç görmez ve onlara doğrudan bağlanmaz.

Her istek üzerinden geçtiği için reverse proxy, ortak işler için elverişli bir yerdir: arka uçların özel ağda düz HTTP kullanabilmesi için HTTPS'i sonlandırmak, yanıtları önbelleğe almak ve sıkıştırmak, istekleri alan adına ya da URL yoluna göre farklı servislere yönlendirmek, yük dengelemek ve iç sunucuları doğrudan saldırılardan korumak. Yaygın reverse proxy'ler arasında NGINX, Apache HTTP Server, HAProxy, Caddy, Traefik ve Envoy bulunur; Kubernetes ingress controller ise tüm bir küme için reverse proxy'dir.

Bir şirket danışmasını düşünün: ziyaretçiler yalnızca danışma ile konuşur, danışma her talebi doğru departmana iletir ve yanıtı geri getirir; böylece ziyaretçilerin hangi ofisin ilgilendiğini bilmesi gerekmez. Ters (reverse) sözcüğü, bunu istemciler adına çalışan forward proxy'den ayırır: forward proxy kullanıcıların önünde durur, örneğin bir okul ya da şirket ağında, ve internete onlar adına istek yapar.

Reverse proxy sıklıkla yük dengeleyici ya da API gateway ile karıştırılır. Yük dengeleme, yani istekleri birkaç özdeş sunucuya dağıtmak, reverse proxy'nin yapabileceği işlerden biridir; API gateway ise kimlik doğrulama, hız sınırlama ve istek dönüştürme gibi özellikler ekleyen, API'lere özel bir reverse proxy'dir. CDN de dünyanın birçok yerine yayılmış bir tür reverse proxy'dir.

Bir bakışta

İnternetteki istemciler HTTPS ile example.com adresindeki bir reverse proxy'ye bağlanır; proxy HTTPS'i sonlandırır, yanıtları önbelleğe alır, yükü dengeler ve her isteği düz HTTP ile özel bir ağda gizli duran iki uygulama sunucusundan birine iletir.İnternetÖzel ağHTTPSHTTPSHTTPHTTPİstemciİstemciReverse proxyexample.comHTTPS sonlandırmaÖnbelleklemeYük dengelemeSunucu10.0.0.2Sunucu10.0.0.3
İstemciler yalnızca proxy ile konuşur. Arkadaki sunucular gizli kalır; istemciler hiçbir şey fark etmeden sunucular değiştirilebilir, eklenebilir ya da çıkarılabilir.

Önemli noktalar

  • Reverse proxy, arka uç sunucular adına istek alır ve onlara iletir.
  • Genellikle HTTPS sonlandırma, önbellekleme, sıkıştırma ve yönlendirmeyi üstlenir.
  • Arka uç sunucular özel bir ağda gizli kalabilir.
  • Forward proxy istemciler adına, reverse proxy sunucular adına hareket eder.
  • Yük dengeleyiciler, API gateway'ler ve CDN'ler çoğu zaman reverse proxy olarak çalışır.

Örnek

İki yerel servise yönlendirme yapan bir NGINX reverse proxynginx
# Terminate HTTPS here and forward plain HTTP to local backends
server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/ssl/example.com.pem;
    ssl_certificate_key /etc/ssl/example.com.key;

    location /api/ {
        proxy_pass http://127.0.0.1:4000;   # API service
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location / {
        proxy_pass http://127.0.0.1:3000;   # frontend app
    }
}

Sık sorulan sorular

Forward proxy ile reverse proxy arasındaki fark nedir?

Forward proxy istemcilerin önünde durur ve internete onlar adına istek yapar; örneğin bir şirket ağında trafiği filtrelemek ya da önbelleğe almak için. Reverse proxy ise sunucuların önünde durur ve internetten gelen istekleri onlar adına alır.

Reverse proxy ile yük dengeleyici aynı şey midir?

Tam olarak değil. Reverse proxy istekleri arka uç sunuculara iletir ve önbellekleme ile TLS sonlandırma gibi özellikler ekleyebilir; yük dengeleme ise isteklerin birkaç sunucuya dağıtılması işidir. Birçok reverse proxy aynı zamanda yük dengeler, bu yüzden aynı yazılım çoğu zaman her iki rolü de üstlenir.

Bir Node.js uygulamasının önüne neden reverse proxy koyulur?

Reverse proxy; HTTPS sertifikalarını, sıkıştırmayı, statik dosyaları ve yavaş istemcileri çoğu uygulama sunucusundan daha verimli yönetebilir. Ayrıca tek bir genel port arkasında bir sunucuda birkaç uygulama çalıştırmanıza da olanak tanır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar