ما هي CDN ولماذا تستخدمها الشركات؟
وكالة ويب » أخبار رقمية » ما هو الوكيل العكسي وكيف يعمل؟

ما هو الوكيل العكسي وكيف يعمل؟

تعد البروكسيات العكسية أداة مفيدة في أي صندوق أدوات لمسؤول النظام. لديهم العديد من الاستخدامات بما في ذلك موازنة التحميل والحماية من هجمات DDOS

ما هي الوكلاء العكسيون؟

الوكيل القياسي ، المسمى Forward Proxy ، هو خادم يتم من خلاله توجيه اتصال المستخدم. من نواح كثيرة ، يشبه VPN بسيطًا ، يقع أمام اتصال الإنترنت الخاص بك. تعد شبكات VPN مثالًا شائعًا ، ولكنها تتضمن أيضًا أشياء مثل جدران الحماية المدرسية ، والتي يمكن أن تمنع الوصول إلى محتوى معين.

يعمل الوكيل العكسي بشكل مختلف قليلاً. إنها أداة خلفية يستخدمها مسؤولو النظام. بدلاً من الاتصال مباشرة بموقع ويب يقدم المحتوى ، يمكن لبروكسي عكسي مثل NGINX الجلوس في المنتصف. عندما يتلقى طلبًا من مستخدم ، فإنه يعيد توجيه هذا الطلب أو "بروكسيس" إلى الخادم النهائي. يُطلق على هذا الخادم اسم "الخادم الأصلي" لأنه الخادم الذي سيستجيب بالفعل للطلبات.

بينما من المحتمل أن يعرف المستخدم ما إذا كان يتم توجيهه عبر وكيل أمامي مثل VPN أو جدار الحماية ، فإن الوكلاء العكسيين هم أدوات أساسية. بقدر ما يعرف المستخدم ، يقوم ببساطة بتسجيل الدخول إلى موقع ويب. يتم إخفاء كل شيء خلف الوكيل العكسي ، والذي له أيضًا العديد من المزايا.

يحدث هذا التأثير أيضًا في الاتجاه المعاكس. لا يحتوي الخادم الأصلي على اتصال مباشر بالمستخدم ولن يرى سوى مجموعة من الطلبات من عنوان IP للوكيل العكسي. قد تكون هذه مشكلة ، ولكن معظم خدمات الوكيل مثل NGINX تضيف رؤوس مثل X-Forwarded-For عند الطلب. ستعلم هذه الرؤوس الخادم الأصلي بعنوان IP الحقيقي للعميل.

ما هي الوكلاء العكسي المستخدمة؟

تعد الخوادم الوكيلة العكسية بسيطة للغاية من حيث المفهوم ، ولكنها تبين أنها أداة مفيدة بشكل مدهش مع العديد من حالات الاستخدام غير المتوقعة.

توزيع الحمل

واحدة من المزايا الرئيسية للوكيل العكسي هي خفته. نظرًا لأنهم يعيدون توجيه الطلبات فقط ، فلن يضطروا إلى إجراء الكثير من المعالجة ، خاصة في المواقف التي تحتاج فيها قاعدة البيانات إلى الاستعلام.

هذا يعني أن عنق الزجاجة غالبًا ما يكون الخادم الأصلي ، ولكن مع وجود وكيل عكسي في المقدمة ، يمكنك بسهولة الحصول على خوادم أصل متعددة. على سبيل المثال ، يمكن للوكيل إرسال 50٪ من الطلبات إلى خادم واحد و 50٪ إلى خادم آخر ، مما يضاعف سعة موقع الويب. تم تصميم خدمات مثل HAProxy للتعامل مع هذا الأمر بشكل جيد.

هذه حالة استخدام شائعة جدًا ، ويقدم معظم موفري السحابة مثل Amazon Web Services (AWS) موازنة الحمل كخدمة ، لذلك لا يتعين عليك تكوينها بنفسك. باستخدام أتمتة السحابة ، يمكنك تلقائيًا زيادة عدد الخوادم الأصلية استجابة لحركة المرور ، وهي ميزة تسمى التحجيم التلقائي.

يمكن تكوين موازنات التحميل مثل Elastic Load Balancer من AWS لإعادة التهيئة تلقائيًا عندما ترتفع الخوادم الأصلية وتنخفض ، وكل ذلك أصبح ممكنًا بواسطة وكيل عكسي تحت الغطاء.

التخزين المؤقت

نظرًا لأن الوكيل العكسي يستجيب غالبًا بشكل أسرع بكثير من الخادم الأصلي ، فإن تقنية تسمى التخزين المؤقت تُستخدم بشكل شائع لتسريع الطلبات على المسارات الشائعة. يحدث التخزين المؤقت عندما يتم تخزين بيانات الصفحة على الوكيل العكسي ولا يُطلب منها إلا من الخادم الأصلي مرة كل بضع ثوان / دقائق. هذا يقلل بشكل كبير من الضغط على الخادم الأصلي.

على سبيل المثال ، تم تقديم هذه المقالة التي تقرأها حاليًا بواسطة WordPress ، والتي تحتاج إلى التواصل مع قاعدة بيانات SQL لاسترداد محتوى المقالة والبيانات الوصفية. يعد القيام بذلك مع كل تحديث للصفحة إهدارًا لأن الصفحة لا تتغير حقًا. لذلك يمكن تخزين هذا المسار مؤقتًا وسيرسل الوكيل العكسي الاستجابة الأخيرة إلى المستخدم التالي ، بدلاً من العبث بـ WordPress مرة أخرى.

تسمى الشبكة المخصصة من البروكسيات العكسية التي تخزن المحتوى الخاص بك بشبكة توصيل المحتوى ، أو CDN. يتم استخدام شبكات CDN مثل CloudFlare أو Fastly بشكل شائع من قبل مواقع الويب الكبيرة لتسريع التسليم العالمي. تسمى الخوادم حول العالم التي تحتوي على محتوى ذاكرة التخزين المؤقت "عقد الحافة" ، ويمكن أن يؤدي وجود الكثير منها إلى جعل موقع الويب الخاص بك ملفت للنظر للغاية.

حماية الشبكة والخصوصية

نظرًا لأن المستخدم لا يعرف ما وراء الوكيل العكسي ، فلا يمكنه بسهولة مهاجمة خوادم الأصل الخاصة بك مباشرةً. في الواقع ، تُستخدم البروكسيات العكسية بشكل شائع مع الخوادم الأصلية في الشبكات الفرعية الخاصة ، مما يعني أنه ليس لديها اتصال داخلي بالإنترنت الخارجي.

هذا يحافظ على خصوصية تكوين شبكتك ، وعلى الرغم من أن الأمان من خلال الغموض ليس مضمونًا أبدًا ، إلا أنه أفضل من تركه مفتوحًا للهجوم.

يمكن أن تكون هذه الثقة المتأصلة مفيدة أيضًا عند التخطيط لشبكتك. على سبيل المثال ، يشبه خادم واجهة برمجة التطبيقات الذي يتصل بقاعدة بيانات الخادم الوكيل العكسي. تعلم قاعدة البيانات أن بإمكانها الوثوق بخادم واجهة برمجة التطبيقات في الشبكة الفرعية الخاصة ، ويعمل خادم واجهة برمجة التطبيقات كجدار حماية لقاعدة البيانات ، مما يسمح بالاتصالات الجيدة فقط من خلال ذلك.

واجهة شكلي

تتمثل إحدى مزايا البروكسيات العكسية مثل NGINX في درجة تكوينها. غالبًا ما يكون من المفيد جعلهم أمام الخدمات الأخرى فقط لتهيئة كيفية وصول المستخدمين إلى تلك الخدمات.

على سبيل المثال ، تستطيع NGINX تقييد الطلبات على مسارات معينة ، والتي يمكن أن تمنع المسيئين من إرسال آلاف الطلبات إلى الخوادم الأصلية من عنوان IP واحد. إنه لا يوقف هجمات DDOS ، لكن من الجيد أن يحدث ذلك.

NGINX قادرة أيضًا على توجيه حركة المرور من أسماء نطاقات متعددة مع كتل "خادم" قابلة للتكوين. على سبيل المثال ، يمكنه إرسال طلبات إلى example.com إلى خادمك الأصلي ، ولكن أرسل api.example.com إلى خادم API الخاص بك ، أو files.example.com لتخزين ملفاتك ، وما إلى ذلك. يمكن أن يكون لكل خادم تكوينه الخاص وقواعده الخاصة.

NGINX قادر أيضًا على إضافة وظائف إضافية إلى خوادم الأصل الحالية ، مثل شهادات HTTPS المركزية وتكوين الرأس.

في بعض الأحيان يكون من المفيد أن يكون لديك NGINX على نفس الجهاز مثل خدمة محلية أخرى ، فقط لخدمة محتوى تلك الخدمة. على سبيل المثال ، تستخدم واجهات برمجة تطبيقات الويب ASP.NET خادم ويب داخليًا يسمى Kestrel ، والذي يستجيب جيدًا للطلبات ، ولكن ليس كثيرًا. من الشائع جدًا تشغيل Kestrel على منفذ خاص واستخدام NGINX كوكيل عكسي قابل للتكوين.

التسجيل المركزي

هذا واحد بسيط جدًا ، ولكن جعل معظم حركة المرور الخاصة بك تمر عبر خدمة واحدة يجعل من السهل التحقق من السجلات. يحتوي سجل الوصول الخاص بـ NGINX على الكثير من المعلومات المفيدة حول حركة المرور الخاصة بك ، وعلى الرغم من أنه لا يتجاوز إمكانيات خدمة مثل Google Analytics ، إلا أنه من المعلومات الرائعة الحصول عليها.

★ ★ ★ ★ ★