प्रॉक्सी सर्वर और रिवर्स प्रॉक्सी सर्वर में क्या अंतर है?
प्रॉक्सी सर्वर और रिवर्स प्रॉक्सी सर्वर में क्या अंतर है?
जवाबों:
पहले के उत्तर सटीक थे, लेकिन शायद बहुत उलझे हुए थे। मैं कुछ उदाहरणों को जोड़ने की कोशिश करूंगा।
सबसे पहले, "प्रॉक्सी" शब्द किसी का वर्णन करता है या किसी और की ओर से अभिनय करता है।
कंप्यूटर क्षेत्र में, हम एक सर्वर को दूसरे कंप्यूटर की ओर से कार्य करने के बारे में बता रहे हैं।
पहुंच के उद्देश्यों के लिए, मैं अपनी चर्चा को वेब प्रॉक्सी तक सीमित कर दूंगा - हालाँकि, प्रॉक्सी का विचार वेबसाइटों तक सीमित नहीं है।
वेब प्रॉक्सी की अधिकांश चर्चा प्रॉक्सी के प्रकार को "फॉरवर्ड प्रॉक्सी" के रूप में जाना जाता है।
इस मामले में, प्रॉक्सी घटना यह है कि "फॉरवर्ड प्रॉक्सी" मूल अनुरोधकर्ता की ओर से किसी अन्य वेब साइट के डेटा को पुनः प्राप्त करता है।
एक उदाहरण के लिए, मैं इंटरनेट से जुड़े तीन कंप्यूटरों को सूचीबद्ध करूंगा।
आम तौर पर, एक सीधे से जुड़ जाएगा X --> Z.
हालांकि, कुछ स्थितियों में, इसके लिए बेहतर है Y --> Z
की ओर से X
है, जो चेन के रूप में इस प्रकार है: X --> Y --> Z
।
यहाँ एक फॉरवर्ड प्रॉक्सी सर्वर के उपयोग की एक (बहुत) आंशिक सूची है:
1) X सीधे Z तक पहुँचने में असमर्थ है क्योंकि
a) X
इंटरनेट कनेक्शन पर प्रशासनिक अधिकार वाले किसी व्यक्ति ने साइट तक सभी पहुंच को अवरुद्ध करने का निर्णय लिया है Z
।
उदाहरण:
स्टॉर्म वर्म वायरस लोगों को आने जाने में धोखा देकर फैल रहा है familypostcards2008.com
, इसलिए सिस्टम प्रशासक ने उपयोगकर्ताओं को अनजाने में खुद को संक्रमित करने से रोकने के लिए साइट तक पहुंच को अवरुद्ध कर दिया है।
एक बड़ी कंपनी के कर्मचारी बहुत अधिक समय बर्बाद कर रहे हैं facebook.com
, इसलिए प्रबंधन व्यावसायिक घंटों के दौरान अवरुद्ध पहुंच चाहता है।
एक स्थानीय प्राथमिक विद्यालय playboy.com
वेबसाइट तक इंटरनेट पहुंच को रोक देता है ।
एक सरकार समाचारों के प्रकाशन को नियंत्रित करने में असमर्थ है, इसलिए यह साइटों को अवरुद्ध करके, जैसे कि समाचारों तक पहुंच को नियंत्रित करता है wikipedia.org
। टीओआर या फ्रीनेट देखें ।
b) प्रशासक Z
ने ब्लॉक कर दिया है X
।
उदाहरण:
Z के व्यवस्थापक ने X से आने वाले हैकिंग प्रयासों पर ध्यान दिया है, इसलिए व्यवस्थापक ने X के IP पते (और / या netrange) को अवरुद्ध करने का निर्णय लिया है।
Z एक फोरम वेबसाइट है। X
मंच स्पैमिंग है। Z ब्लॉक X।
इस उदाहरण के लिए, मैं इंटरनेट से जुड़े तीन कंप्यूटरों को सूचीबद्ध करूंगा।
आम तौर पर, एक सीधे से जुड़ जाएगा X --> Z.
हालांकि, कुछ परिदृश्यों में, प्रशासक के Z
लिए प्रत्यक्ष पहुंच को प्रतिबंधित या अस्वीकार करना और आगंतुकों को पहले Y के माध्यम से जाने के लिए मजबूर करना बेहतर है। तो, के रूप में पहले, हम डेटा के द्वारा प्राप्त किया जा रहा है Y --> Z
की ओर से X
है, जो चेन प्रकार है: X --> Y --> Z
।
"फॉरवर्ड प्रॉक्सी" की तुलना में इस बार अलग क्या है, इस बार उपयोगकर्ता X
को पता नहीं है कि वह एक्सेस कर रहा है Z
, क्योंकि उपयोगकर्ता X
केवल यह देखता है कि वह किसके साथ संचार कर रहा है Y
। सर्वर Z
ग्राहकों के लिए अदृश्य है और केवल रिवर्स प्रॉक्सी Y
बाहरी रूप से दिखाई देता है। क्लाइंट पर रिवर्स प्रॉक्सी को नो (प्रॉक्सी) कॉन्फ़िगरेशन की आवश्यकता होती है।
क्लाइंट को X
लगता है कि वह केवल Y
( X --> Y
) के साथ संचार कर रहा है , लेकिन वास्तविकता यह है कि Y
सभी संचार ( X --> Y --> Z
फिर से) को अग्रेषित करना ।
उपरोक्त परिदृश्यों में, Z
चुनने की क्षमता है Y
।
(X --> Y) --> Z
रिवर्स X --> (Y --> Z)
:।
सरल परिभाषाओं की एक जोड़ी होगी:
फॉरवर्ड प्रॉक्सी: एक अनुरोधकर्ता (या सेवा उपभोक्ता) की ओर से कार्य करना
रिवर्स प्रॉक्सी: सेवा / सामग्री निर्माता की ओर से कार्य करना।
मुझे नीचे का चित्र बहुत मददगार लगा। यह बस क्लाइंट से सर्वर से इंटरनेट पर आगे बनाम रिवर्स प्रॉक्सी सेटअप की वास्तुकला को दर्शाता है । यह छवि आपको qyb2zm302 के उत्तर और अन्य उत्तरों को बेहतर ढंग से समझने में मदद करेगी ।
आप इस वीडियो को पीटर सिल्वा द्वारा F5 के देवसेंटरल से भी देख सकते हैं ।
चित्र स्रोत: Quora । हालांकि, मार्टिज़न पीटरर्स के अनुसार , यह छवि developpez.com पर पल्स सिक्योर कम्युनिटी या जूलियन पाउली की साइट (फ्रेंच में) से हो सकती है।
इसने मुझे क्लासिक कहावत की याद दिला दी:
एक तस्वीर हज़ार शब्दों पर भारी है।
फॉरवर्ड प्रॉक्सी बनाम रिवर्स प्रॉक्सी (2012) फॉरवर्ड और रिवर्स प्रॉक्सी के बीच के अंतर को बहुत स्पष्ट रूप से समझाता है।
qyb2zm302 का उत्तर अच्छी तरह से परदे के पीछे के अनुप्रयोगों का विवरण देता है, लेकिन यह आगे और पीछे के परदे के पीछे मूल अवधारणा पर फिसल जाता है। रिवर्स प्रॉक्सी के लिए, X → Y → Z, X इसके विपरीत के बजाय Y और Z के बारे में जानता है।
एक प्रॉक्सी केवल संचार के लिए एक बिचौलिया है (अनुरोधों + प्रतिक्रियाओं)। क्लाइंट <-> प्रॉक्सी <-> सर्वर
क्लाइंट की ओर से प्रॉक्सी कार्य करता है। ग्राहक श्रृंखला में शामिल सभी तीन मशीनों के बारे में जानता है। सर्वर नहीं करता है।
सर्वर की ओर से प्रॉक्सी कार्य करता है। क्लाइंट केवल प्रॉक्सी के बारे में जानता है। सर्वर पूरी चेन जानता है।
यह मुझे लगता है कि आगे और रिवर्स बस भ्रमित कर रहे हैं, ग्राहक और सर्वर प्रॉक्सी के लिए परिप्रेक्ष्य-निर्भर नाम । मैं स्पष्ट संचार के लिए, बाद के लिए पूर्व को छोड़ने का सुझाव देता हूं।
बेशक, इस मामले को और जटिल करने के लिए, हर मशीन विशेष रूप से क्लाइंट या सर्वर नहीं है। यदि संदर्भ में अस्पष्टता है, तो यह स्पष्ट रूप से निर्दिष्ट करना सबसे अच्छा है कि प्रॉक्सी कहाँ है, और संचार कि यह सुरंग है।
कुछ आरेख मदद कर सकते हैं:
फॉरवर्ड प्रॉक्सी
प्रॉक्सी को उलट दें
अंतर मुख्य रूप से तैनाती में है। वेब फॉरवर्ड और रिवर्स प्रॉक्सिस में सभी एक ही अंतर्निहित विशेषताएं हैं। वे विभिन्न स्वरूपों में HTTP अनुरोधों के अनुरोधों को स्वीकार करते हैं और आमतौर पर मूल या संपर्क सर्वर तक पहुंचकर प्रतिक्रिया प्रदान करते हैं।
पूरी तरह से चित्रित सर्वरों में आमतौर पर एक्सेस कंट्रोल, कैशिंग और कुछ लिंक-मैपिंग फीचर होते हैं।
एक फॉरवर्ड प्रॉक्सी एक प्रॉक्सी है जिसे क्लाइंट मशीन को कॉन्फ़िगर करके एक्सेस किया जाता है। क्लाइंट को प्रॉक्सी सुविधाओं (पुनर्निर्देशन, प्रॉक्सी प्रमाणीकरण, आदि) के लिए प्रोटोकॉल समर्थन की आवश्यकता होती है। प्रॉक्सी उपयोगकर्ता अनुभव के लिए पारदर्शी है, लेकिन एप्लिकेशन के लिए नहीं।
एक रिवर्स प्रॉक्सी एक प्रॉक्सी है जिसे वेब सर्वर के रूप में तैनात किया जाता है और एक वेब सर्वर की तरह व्यवहार करता है, इस अपवाद के साथ कि प्रोग्राम और डिस्क से सामग्री की स्थानीय रूप से रचना करने के बजाय, यह एक मूल सर्वर के लिए अनुरोध करता है। ग्राहक के दृष्टिकोण से यह है एक वेब सर्वर है, तो उपयोगकर्ता अनुभव पूरी तरह से पारदर्शी है।
वास्तव में, एक एकल प्रॉक्सी उदाहरण अलग-अलग क्लाइंट आबादी के लिए एक ही समय में आगे और रिवर्स प्रॉक्सी के रूप में चल सकता है।
प्रॉक्सी: यह क्लाइंट की ओर से अनुरोध कर रहा है । तो, सर्वर प्रॉक्सी को प्रतिक्रिया लौटा देगा, और प्रॉक्सी ग्राहक को प्रतिक्रिया भेज देगा। वास्तव में, सर्वर कभी भी यह नहीं सीखेगा कि ग्राहक कौन था (ग्राहक का आईपी पता); यह केवल प्रॉक्सी को जान सकेगा। हालाँकि, क्लाइंट निश्चित रूप से सर्वर को जानता है, क्योंकि यह अनिवार्य रूप से सर्वर के लिए नियत HTTP अनुरोध को प्रारूपित करता है, लेकिन यह सिर्फ प्रॉक्सी को सौंपता है।
रिवर्स प्रॉक्सी: यह सर्वर की ओर से अनुरोध प्राप्त कर रहा है । यह सर्वर से अनुरोध को आगे बढ़ाता है, प्रतिक्रिया प्राप्त करता है और फिर क्लाइंट को प्रतिक्रिया देता है। इस मामले में, ग्राहक कभी भी "सीखना" नहीं होगा जो वास्तविक सर्वर (सर्वर का आईपी पता) था (कुछ अपवादों के साथ); यह केवल प्रॉक्सी को जान सकेगा। सर्वर रिवर्स क्लाइंट के कॉन्फ़िगरेशन के आधार पर वास्तविक क्लाइंट को जानता है या नहीं जानता है।
एक प्रॉक्सी सर्वर प्रॉक्सी (और वैकल्पिक रूप से कैश) आउटगोइंग नेटवर्क को इंटरनेट पर विभिन्न आवश्यक-संबंधित सार्वजनिक संसाधनों के लिए अनुरोध करता है। एक रिवर्स प्रॉक्सी इंटरनेट से आने वाले अनुरोधों (और वैकल्पिक रूप से कैश) को पकड़ता है और उन्हें विभिन्न आंतरिक निजी संसाधनों में वितरित करता है, आमतौर पर उच्च उपलब्धता उद्देश्यों के लिए।
Cloudflare में विवरणों के साथ चित्रों का एक शानदार लेख है।
यहां देखें: एक रिवर्स प्रॉक्सी क्या है? | प्रॉक्सी सर्वर समझाया
प्रॉक्सी (आगे प्रॉक्सी):
जब आपके LAN पर कंप्यूटर एक प्रॉक्सी सर्वर से जुड़ते हैं जो इंटरनेट एक्सेस करता है। लाभों में केवल सर्वर शामिल है जो इंटरनेट के संपर्क में है। बाहर के लोग सीधे कंप्यूटर का उपयोग करने में असमर्थ हैं। फॉरवर्ड परदे के पीछे कैशिंग डाउनलोड द्वारा उपयोगकर्ताओं के लिए इंटरनेट का उपयोग बेहतर कर सकते हैं। उनका उपयोग कुछ साइटों तक पहुंच को प्रतिबंधित करने के लिए भी किया जा सकता है। इसके अलावा, केवल प्रॉक्सी सर्वर को एक सार्वजनिक पते की आवश्यकता होगी, न कि ग्राहकों को इससे जुड़ने की।
रिवर्स प्रॉक्सी:
एक रिवर्स प्रॉक्सी एक फॉरवर्ड प्रॉक्सी के विपरीत है। इसके बजाय यह सर्वर से जुड़े होने के कारण प्रॉक्सी की तरह काम करता है। एक दूरस्थ सर्वर तक सीधे पहुंचने के बजाय, एक उपयोगकर्ता रिवर्स प्रॉक्सी के माध्यम से जाएगा और वहां से उपयुक्त सर्वर को निर्देशित किया जाएगा। केवल रिवर्स प्रॉक्सी को एसएसएल प्रमाणपत्र की आवश्यकता होगी, केवल एक सार्वजनिक आईपी पते की आवश्यकता होगी, और यह समग्र उपयोगकर्ता अनुभव को बढ़ाने के लिए आने वाले अनुरोधों के लोड संतुलन को संभाल सकता है।
छवि स्रोत: अनुप्रयोग अनुरोध रूटिंग का उपयोग करके एक फॉरवर्ड प्रॉक्सी बनाना
एक अपाचे परिप्रेक्ष्य से मेरी समझ यह है कि प्रॉक्सी का मतलब है कि यदि साइट x साइट y के लिए प्रॉक्सी करती है, तो x रिटर्न y के लिए अनुरोध करता है।
रिवर्स प्रॉक्सी का मतलब है कि y से प्रतिक्रिया को समायोजित किया जाता है ताकि y के सभी संदर्भ x हो जाएं।
ताकि उपयोगकर्ता यह न बता सके कि एक प्रॉक्सी शामिल है ...
मेरी समझ के अनुसार ...
के साथ शुरू करने के लिए, जैसा कि सभी जानते हैं, प्रॉक्सी का अर्थ है "किसी और का प्रतिनिधित्व करने का अधिकार"। अब दो चीजें हैं, आगे और रिवर्स प्रॉक्सी।
मान लीजिए कि आप "Google" और "Google" को एक्सेस करना चाहते हैं, तो उस विशेष अनुरोध का जवाब देने के लिए सर्वर की संख्या n होगी।
अब इस मामले में, जब आप Google से किसी चीज़ के लिए अनुरोध कर रहे हैं और आप नहीं चाहते कि Google आपके आईपी पते को देखे, तो आप आगे बताए गए प्रॉक्सी का उपयोग करेंगे।
ए → बी → सी
अब यहाँ आप A हैं, B के माध्यम से अनुरोध भेज रहे हैं। इसलिए C यह सोचेगा कि अनुरोध B से आ रहा है, A. नहीं। इस तरह से आप अपने ग्राहकों के आईपी पते को बाहरी दुनिया के सामने न आने से रोक सकते हैं।
अब इस मामले में, आपको समझने के लिए, हम आगे के प्रॉक्सी के मामले को लेंगे। यहां आपने Google से कुछ के लिए अनुरोध किया है, जो प्रतिक्रिया देने के लिए ऐप सर्वर या किसी अन्य प्रॉक्सी सर्वर को एक अनुरोध भेजने के लिए जा रहा है। तो ये बातें नीचे बताई गई होंगी।
ए → बी → सी
सी → डी
सी ← डी
ए ← बी। सी
उपरोक्त आरेख से आप देख सकते हैं कि B से C को एक अनुरोध भेजा गया है, A से नहीं। C से फिर एक अनुरोध D को भेजा जाएगा। इसी प्रकार प्रतिक्रिया C से D और फिर B और A से जाएगी।
उपरोक्त आरेख का कहना है कि यह केवल संदर्भ है जो मायने रखता है, हालांकि दोनों परदे के पीछे एक ही तरह से काम कर रहे हैं, लेकिन क्लाइंट-साइड प्रॉक्सी क्लाइंट जानकारी छिपा रहा है, जबकि सर्वर-साइड प्रॉक्सी सर्वर-साइड जानकारी छिपाएगा।
फॉरवर्ड प्रॉक्सिस क्लाइंट को अनामी (यानी, तोर को लगता है ) प्रदान करते हैं।
रिवर्स प्रॉक्सि बैक सर्वर एनोनिमस (यानी, डीएमजेड के पीछे सर्वर सोचते हैं) को अनुदान देता है।
यहाँ एक रिवर्स प्रॉक्सी (लोड बैलेंसर के रूप में) का एक उदाहरण दिया गया है।
एक ग्राहक वेबसाइट.कॉम पर सर्फ करता है और जो सर्वर हिट करता है, उस पर रिवर्स प्रॉक्सी चलती है। रिवर्स प्रॉक्सी पाउंड होता है । पाउंड अनुरोध लेता है और इसके पीछे बैठे तीन एप्लिकेशन सर्वरों में से एक को भेजता है। इस उदाहरण में, पाउंड एक लोड बैलेंसर है। यही है, यह तीन एप्लिकेशन सर्वर के बीच लोड को संतुलित कर रहा है।
एप्लिकेशन सर्वर वेबसाइट सामग्री को क्लाइंट तक वापस भेजते हैं।
यदि कोई प्रॉक्सी नहीं
क्लाइंट की ओर से और सर्वर साइड से देखने के लिए समान हैं:
ग्राहक -> सर्वर
प्रतिनिधि
ग्राहक की ओर से:
क्लाइंट -> प्रॉक्सी -> सर्वर
सर्वर की ओर से:
ग्राहक -> सर्वर
प्रॉक्सी को उलट दें
ग्राहक की ओर से:
ग्राहक -> सर्वर
सर्वर की ओर से:
क्लाइंट -> प्रॉक्सी -> सर्वर
इसलिए मुझे लगता है कि अगर यह क्लाइंट यूजर द्वारा सेट किया जाता है, तो इसे प्रॉक्सी set कहा जाता है, अगर इसे सर्वर मैनेजर द्वारा सेट किया जाता है तो यह रिवर्स प्रॉक्सी है।
क्योंकि इसे स्थापित करने के उद्देश्य और कारण अलग-अलग हैं, वे अलग-अलग तरीकों से डेटा के साथ सौदा करते हैं और विभिन्न सॉफ़्टवेयर का उपयोग करते हैं।
User side | Server side
client <-> proxy <--> reverse_proxy <-> real server
उपयोगकर्ता के दृष्टिकोण से खोज: प्रॉक्सी या रिवर्स प्रॉक्सी सर्वर के लिए अनुरोध भेजते समय :
प्रॉक्सी - दो तर्कों की आवश्यकता है :
1) क्या प्राप्त करें और 2) जो मध्यवर्ती सर्वर का उपयोग करने के लिए प्रॉक्सी सर्वर है
रिवर्स प्रॉक्सी - एक तर्क की आवश्यकता है :
1) क्या प्राप्त करना है
एक रिवर्स प्रॉक्सी उपयोगकर्ता के लिए किसी अन्य सर्वर से सामग्री प्राप्त नहीं करता है और परिणाम को वापस करता है जैसे कि यह रिवर्स प्रॉक्सी सर्वर से उत्पन्न होता है ।
पिछले जवाबों में से अधिकांश अच्छे हैं, लेकिन मेरी राय में दोनों को अलग करने वाली "रिवर्स" गुणवत्ता को अच्छी तरह से संबोधित करने के लिए कोई भी बहुत करीब नहीं आता है। ऐसा करने के लिए, "रिवर्स" प्रकृति की कल्पना करने का कुछ तरीका अनिवार्य रूप से एक ही चीज़ (एक प्रॉक्सी) को देने की आवश्यकता है, और इसे एक अच्छी तरह से सार करने की आवश्यकता है।
एक प्रॉक्सी (स्पष्ट रूप से "फॉरवर्ड प्रॉक्सी") कई स्थानीय क्लाइंट को किसी एक दूरस्थ सर्वर से जोड़ता है:
c--
|--p--s
c--
एक रिवर्स प्रॉक्सी कई स्थानीय सर्वरों को किसी एक दूरस्थ क्लाइंट से जोड़ता है (ध्यान दें कि लेआउट कैसे उलटता है):
s--
|--p--c
s--
यह वास्तव में एक परिप्रेक्ष्य का विषय है और अवधारणा को ठीक से समझने के लिए गैर-आवश्यक (विशेष अवधारणा के लिए) विवरण को अलग करने की आवश्यकता होती है, हालांकि यह बहुत महत्वपूर्ण हो सकता है जब यह प्रॉक्सी ऑपरेशन की व्यावहारिकता की बात आती है। इस तरह के विवरण में यह तथ्य शामिल है कि दोनों परिदृश्यों में वास्तविकता यह है कि कई क्लाइंट कई सर्वरों से जुड़ते हैं, क्लाइंट और सर्वर वास्तव में स्थानीय या दूरस्थ नहीं हो सकते हैं, जहां इंटरनेट क्लाउड स्थित है या क्लाइंट और सर्वर के बीच किस तरह की दृश्यता मौजूद है।