Proxy sunucusu ile ters proxy sunucusu arasındaki fark nedir?
Proxy sunucusu ile ters proxy sunucusu arasındaki fark nedir?
Yanıtlar:
Önceki cevaplar doğruydu, ama belki de çok kesindi. Bazı örnekler eklemeye çalışacağım.
Her şeyden önce, "vekil" kelimesi, bir başkası adına hareket eden birini veya bir şeyi açıklar.
Bilgisayar alanında, başka bir bilgisayar adına hareket eden bir sunucudan bahsediyoruz.
Erişilebilirlik amacıyla, tartışmamı web proxy'leriyle sınırlayacağım - ancak bir proxy fikri sadece web siteleriyle sınırlı değil.
Web proxy sunucularının çoğu tartışması, "ileri proxy" olarak bilinen proxy türünü belirtir.
Bu durumda proxy olayı, "ileri proxy" nin, orijinal istekte bulunan adına başka bir web sitesinden veri almasıdır.
Bir örnek olarak, internete bağlı üç bilgisayarı listeleyeceğim.
Normalde, doğrudan X --> Z.
Ancak, bazı senaryolarda, onun için iyidir Y --> Z
adına X
aşağıdaki gibi zincirler,: X --> Y --> Z
.
Bir ileri proxy sunucusunun kullanımlarının (çok) kısmi bir listesi:
1) X, Z'ye doğrudan erişemiyor çünkü
a) X
İnternet bağlantısı üzerinden idari yetkisi olan biri siteye tüm erişimi engellemeye karar vermiştir Z
.
Örnekler:
Fırtına Solucanı virüsü insanları ziyarete kandırmakla yayılıyor familypostcards2008.com
, bu nedenle sistem yöneticisi kullanıcıların yanlışlıkla kendilerini enfekte etmesini önlemek için siteye erişimi engelledi.
Büyük bir şirketteki çalışanlar çok fazla zaman harcıyor facebook.com
, bu nedenle yönetim çalışma saatleri içinde erişimin engellenmesini istiyor.
Yerel bir ilkokul playboy.com
web sitesine internet erişimine izin vermemektedir .
Bir hükümet haberlerin yayınlanmasını kontrol edemez, dolayısıyla bunun gibi siteleri engelleyerek haberlere erişimi kontrol eder wikipedia.org
. Bkz. TOR veya FreeNet .
b) sitesinin yöneticisi Z
engelledi X
.
Örnekler:
Z'nin yöneticisi X'ten gelen saldırı girişimlerini fark etti, bu nedenle yönetici X'in IP adresini (ve / veya netrange'i) engellemeye karar verdi.
Z bir forum web sitesidir. X
forumu spam yapıyor. Z blokları X.
Bu örnekte, internete bağlı üç bilgisayarı listeleyeceğim.
Normalde, doğrudan X --> Z.
Bununla birlikte, bazı senaryolarda, yöneticinin Z
doğrudan erişimi kısıtlaması veya buna izin vermemesi ve ziyaretçileri önce Y üzerinden geçmeye zorlaması daha iyidir . Yani, daha önce olduğu gibi, biz verileri tarafından alındığını sahip Y --> Z
adına X
aşağıdaki gibi hangi zincirleri,: X --> Y --> Z
.
Bu kez "ileri proxy" ile karşılaştırıldığında farklı olan şey, kullanıcının bu kez X
eriştiğini bilmediğidir Z
, çünkü kullanıcı X
yalnızca iletişim kurduğunu görür Y
. Sunucu Z
istemciler tarafından görülmez ve Y
dışarıdan yalnızca ters proxy görünür. Ters proxy, istemci tarafında (proxy) yapılandırma gerektirmez.
Müşteri X
yalnızca Y
( X --> Y
) ile iletişim kurduğunu düşünüyor , ancak gerçek şu ki Y
tüm iletişimi ( X --> Y --> Z
tekrar) iletiyor .
Yukarıdaki senaryolarda, Z
seçme yeteneğine sahiptir Y
.
(X --> Y) --> Z
ters: X --> (Y --> Z)
.
Bir çift basit tanım:
İleri Vekil Sunucu: Talep eden (veya hizmet tüketicisi) adına hareket etmek
Ters Proxy: Hizmet / içerik üreticisi adına hareket etmek.
Aşağıdaki diyagramın çok yararlı olduğunu gördüm. Sadece istemciden sunucuya Internet üzerinden ileri ve geri proxy kurulum mimarisini gösterir . Bu resim qyb2zm302'nin yanıtını ve diğer cevaplarını daha iyi anlamanıza yardımcı olacaktır .
Ayrıca izleyebilirsiniz Bu videoyu gelen F5 'ın DevCentral Peter Silva tarafından.
Resim Kaynağı: Quora . Ancak gereğince Martijn Pieters'e , bu resim yüzünden olabilir Topluluğu'nu Güvenli Pulse veya Julien Pauli'nin sitesini developpez.com de (Fransızca).
Bana klasik atasözünü hatırlattı:
Bir resim 1000 kelimeye bedeldir.
İleri Proxy ve Ters Proxy (2012), ileri ve geri proxy'ler arasındaki farkı çok açık bir şekilde açıklamaktadır.
qyb2zm302'nin cevabı vekillerin uygulamalarını güzel bir şekilde detaylandırıyor, ancak ileri ve geri vekiller arasındaki temel kavram üzerinde kayıyor. Ters proxy için X → Y → Z, X tersi yerine Z'yi değil Y'yi bilir.
Proxy sadece iletişim aracıdır (istekler + yanıtlar). İstemci <-> Proxy <-> Sunucu
Vekil müşteri adına hareket eder. Müşteri zincirdeki üç makineyi de biliyor. Sunucu bilmiyor.
Proxy sunucu adına hareket eder. İstemci yalnızca proxy'yi bilir. Sunucu tüm zinciri bilir.
Bana öyle geliyor ki ileri ve geri , istemci ve sunucu proxy'si için kafa karıştırıcı, perspektife bağımlı isimler . Birincisi için açık iletişim için ikincisini terk etmenizi öneririm.
Tabii ki, konuyu daha da karmaşıklaştırmak için, her makine sadece bir istemci veya bir sunucu değildir. Bağlamda bir belirsizlik varsa, proxy'nin nerede olduğunu ve tünellediği iletişimleri açıkça belirtmek en iyisidir.
Bazı diyagramlar yardımcı olabilir:
Proxy ilet
Ters proxy
Fark öncelikle dağıtımdadır. Web ileri ve geri proxy'lerinin tümü aynı temel özelliklere sahiptir. Çeşitli biçimlerde HTTP istekleri için istekleri kabul eder ve genellikle başlangıç noktasına veya kişi sunucusuna erişerek yanıt verir.
Tam özellikli sunucular genellikle erişim kontrolü, önbellekleme ve bazı bağlantı eşleme özelliklerine sahiptir.
İleri proxy, istemci makineyi yapılandırarak erişilen bir proxy'dir. İstemci, proxy özellikleri (yeniden yönlendirme, proxy kimlik doğrulaması vb.) İçin protokol desteğine ihtiyaç duyar. Proxy kullanıcı deneyimi için saydamdır, ancak uygulama için saydam değildir.
Ters proxy, web sunucusu olarak dağıtılan ve web sunucusu gibi davranan bir proxy'dir; ancak, içeriği programlardan ve diskten yerel olarak oluşturmak yerine isteği bir özgün sunucuya iletir. İstemci perspektiften bakıldığında ise kullanıcı deneyimi tamamen şeffaf böylece, bir web sunucusu.
Aslında, tek bir proxy örneği farklı istemci popülasyonları için aynı anda ileri ve geri proxy olarak çalışabilir.
Proxy: İstemci adına istekte bulunuyor . Böylece, sunucu proxy'ye yanıtı döndürür ve proxy yanıtı istemciye iletir. Aslında, sunucu asla istemcinin kim olduğunu "öğrenmez" (istemcinin IP adresi); yalnızca proxy'yi tanıyacaktır. Ancak, istemci, sunucuyu hedefleyen HTTP isteğini biçimlendirdiği için sunucuyu kesinlikle tanır, ancak yalnızca proxy'ye verir.
Ters Proxy: Sunucu adına istek alıyor . İsteği sunucuya iletir, yanıtı alır ve daha sonra yanıtı istemciye döndürür. Bu durumda, istemci hiçbir zaman gerçek sunucunun (sunucunun IP adresi) kim olduğunu "öğrenmez" (bazı istisnalar dışında); yalnızca proxy'yi tanıyacaktır. Ters proxy yapılandırmasına bağlı olarak, sunucu gerçek istemciyi tanıyacak veya tanımayacaktır.
Bir proxy sunucusu, giden ağ isteklerini Internet üzerinden zorunlu olarak ilgili olmayan çeşitli kamu kaynaklarına proxy (ve isteğe bağlı olarak önbelleğe alır). Ters proxy, Internet'ten gelen istekleri yakalar (ve isteğe bağlı olarak önbelleğe alır) ve bunları genellikle yüksek kullanılabilirlik amacıyla çeşitli dahili özel kaynaklara dağıtır.
Cloudflare , bunu ayrıntılı olarak açıklayan resimlere sahip harika bir makaleye sahiptir.
Buraya bakın: Ters Proxy Nedir? | Proxy Sunucuları Açıklaması
Proxy (İleri Proxy):
LAN'ınızdaki bilgisayarlar İnternet'e erişen bir proxy sunucuya bağlandığında. Avantajları arasında yalnızca Internet'e maruz kalan sunucu yer alır. Dışarıdaki kişiler bilgisayarlara doğrudan erişemez. Proxy iletmek, indirmeleri önbelleğe alarak kullanıcılar için İnternet erişimini iyileştirebilir. Ayrıca belirli sitelere erişimi kısıtlamak için de kullanılabilirler. Ayrıca, yalnızca proxy sunucusunun, ona bağlanan istemcilere değil, genel bir adrese ihtiyacı olacaktır.
Ters Proxy:
Ters proxy, ileri proxy'nin tam tersidir. Bunun yerine, bağlı olduğu sunucular adına bir proxy görevi görür. Bir uzak sunucuya doğrudan erişmek yerine, bir kullanıcı ters proxy'den geçer ve oradan uygun sunucuya yönlendirilir. Yalnızca ters proxy bir SSL sertifikasına ihtiyaç duyar, yalnızca bir genel IP adresi gerekir ve genel kullanıcı deneyimini geliştirmek için gelen isteklerin yük dengelemesini yapabilir.
Görüntü Kaynağı: Uygulama İsteği Yönlendirmesini Kullanarak İleri Proxy Oluşturma
Apache perspektifinden anladığım kadarıyla, proxy, site x site y için proxy sunucuları varsa, x i için y istekleri anlamına gelir.
Ters proxy, y'den gelen yanıtın, y'ye yapılan tüm başvurular x olacak şekilde ayarlandığı anlamına gelir.
Böylece kullanıcı bir proxy'nin dahil olduğunu söyleyemez ...
Anladığım kadarıyla ...
Başlangıç olarak, herkesin bildiği gibi, proxy "başka birini temsil etme yetkisi" anlamına gelir. Şimdi iki şey var, ileri ve geri proxy.
"Google" ve "Google" a erişmek istediğinizi varsayalım, bu isteğe yanıt vermek için n sayıda sunucuya sahip olacaksınız.
Şimdi bu durumda, Google'dan bir şey isterken ve Google'ın IP adresinizi görmesini istemezseniz, aşağıda açıklandığı gibi bir ileri proxy kullanacaksınız.
A → B → C
Şimdi burada A'sınız, B aracılığıyla bir istek gönderiyorsunuz. Böylece C, talebin A'dan değil B'den geldiğini düşünecektir. Bu şekilde müşterilerinizin IP adresinin dış dünyaya maruz kalmamasını engelleyebilirsiniz.
Şimdi bu durumda, anlamanızı sağlamak için, aynı ileri proxy örneğini ele alacağız. Burada Google'a bir şey istediniz, bu da yanıtı almak için uygulama isteğine veya başka bir proxy sunucusuna gönderecek. Yani bunlar aşağıda açıklandığı gibi olacak.
A → B → C
C → D
C ← D
A ← B ← C
Yukarıdaki şemadan C'den A'ya değil, B'den bir istek gönderildiğini görebilirsiniz. O zaman C'den D'ye bir istek gönderilecektir. Benzer şekilde cevap D'den C'ye ve sonra B ve A'ya gidecektir.
Yukarıdaki şemada, her iki vekilin de aynı şekilde davranmasına rağmen önemli olan bağlam olduğu, ancak istemci tarafı proxy'nin istemci bilgilerini gizlediği, ancak sunucu tarafı proxy'sinin sunucu tarafı bilgilerini gizleyeceği belirtilmektedir.
İleri vekiller müşteriye anonimlik verir ( Tor'u düşünün ).
Ters proxy'ler arka uç sunuculara anonimlik verir (yani, bir DMZ'nin arkasındaki sunucuları düşünün).
İşte bir ters proxy örneği (yük dengeleyici olarak).
Bir istemci website.com'a gider ve vurduğu sunucunun üzerinde çalışan bir ters proxy vardır. Ters proxy Pound olur . Pound isteği alır ve arkasında oturan üç uygulama sunucusundan birine gönderir. Bu örnekte, Pound bir yük dengeleyicisidir. Yani, üç uygulama sunucusu arasındaki yükü dengeliyor.
Uygulama sunucuları web sitesi içeriğini istemciye sunar.
Proxy yoksa
İstemci tarafında ve sunucu tarafında görmek aynıdır:
İstemci -> Sunucu
vekil
Müşteri tarafından:
İstemci -> proxy -> Sunucu
Sunucu tarafından:
İstemci -> Sunucu
Ters proxy
Müşteri tarafından:
İstemci -> Sunucu
Sunucu tarafından:
İstemci -> proxy -> Sunucu
Bu yüzden bir istemci kullanıcı tarafından ayarlanmışsa proxy proxy adı verilir ; sunucu yöneticisi tarafından ayarlanmışsa ters proxy'dir.
Kurulumun amaçları ve nedenleri farklı olduğu için veriler farklı şekillerde ele alınır ve farklı yazılımlar kullanırlar.
User side | Server side
client <-> proxy <--> reverse_proxy <-> real server
Kullanıcı açısından bakıldığında: bir proxy veya ters proxy sunucusuna istek gönderirken :
proxy - iki argüman gerektirir :
1) ne alınır ve 2) ara sunucu kullanmak için hangi proxy sunucusu
ters proxy - bir argüman gerektirir :
1) ne alınır
Ters proxy, kullanıcıya tanıtılmadan başka bir sunucudan içerik alır ve sonucu ters proxy sunucusundan geliyormuş gibi döndürür .
Önceki cevapların çoğu iyi, ama bence hiçbiri, ikisini birbirinden ayıran "ters" kaliteyi yeterince ele almaya çok yakın değil. Bunu yapmak için, esasen aynı şeyin (vekil) olan "ters" doğasını görselleştirmenin bir yolunun verilmesi gerekir ve iyi bir şekilde verilmesi gerekir.
Bir proxy (dolaylı olarak "ileri proxy") birden çok yerel istemciyi herhangi bir uzak sunucuya bağlar:
c--
|--p--s
c--
Bir ters proxy herhangi bir uzaktan istemci (nasıl düzen tersine çevirir haber) için birden fazla yerel sunucular bağlanır:
s--
|--p--c
s--
Kavramın gerçekten ve doğru bir şekilde anlaşılması, temel olmayan (belirli bir kavram için) ayrıntıların soyutlanmasını gerektirir, ancak vekil işlem pragmatikleri söz konusu olduğunda çok önemli olabilir. Bu tür ayrıntılar, her iki senaryoda da, birden çok istemcinin birden çok sunucuya bağlanması, istemcilerin ve sunucuların, Internet bulutunun bulunduğu yerde veya istemci ile sunucu arasında ne tür bir görünürlük olduğu konusunda yerel veya uzak olmayabilir.