← Back to blog

دليل حول إضافة mod_proxy: استخدام Apache كوكيل عكسي

Category
دليل حول إضافة mod_proxy: استخدام Apache كوكيل عكسي

مقدمة

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

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

ما هو Apache؟

Apache هو HTTP server يُستخدم بشكل شائع جدًا للأغراض المتعلقة بالويب. ولكن يمكنك استخدامه لمجموعة متنوعة من الأسباب وعبر العديد من المنصات. يمكنك تثبيت خادم ويب Apache على Ubuntu باتباع برنامجنا التعليمي خطوة بخطوة. علاوة على ذلك، اتبع هذا البرنامج التعليمي لمعرفة كيفية تأمين خادم Apache الخاص بك باستخدام Let’s Encrypt. يمكنك أيضًا الاطلاع على كيفية إعداد مضيفين افتراضيين لـ Apache على Ubuntu 20.04.

يمكنك استكشاف وظائف Apache وتطبيقه بشكل أكبر بمساعدة الوحدات الخارجية. هذه وحدات تابعة لجهات خارجية يمكنك استخدامها لأداء مهام مختلفة تتعلق بالاتصالات والتكوينات. على سبيل المثال، يمكنك استخدام وحدة mod_rewrite لإجراء إعادة كتابة عنوان URL المستندة إلى القواعد. وحدة أخرى من هذه الوحدات هي mod_proxy. هذه الوحدة الأخيرة غير مستخدمة بشكل كبير في المجتمع. ويرجع ذلك أساسًا إلى أن الكثير من الناس ليسوا على دراية بمدى وظائفها وتطبيقاتها. يمكن أن تساعدك Mod_proxy، كما يوحي الاسم، في وضع بوابة أو وكيل (proxy) لخوادم الخلفية (backend).

فلنستكشف mod_proxy بالتفصيل وكيف يمكنك استخدامه كوكيل عكسي (reverse proxy).

Mod_proxy: استخدام Apache كوكيل عكسي (Reverse Proxy)

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

ألقِ نظرة على وحدات mod_proxy التالية:

mod_proxy

هذه هي وحدة الوكيل (proxy) الرئيسية. في Apache، يمكنك استخدام هذه الوحدة لتكوين وإدارة الاتصالات المختلفة. يمكنها أيضًا مساعدتك في إعادة توجيه الاتصالات.

mod_proxy_http

كما يوحي الاسم، تتعامل هذه الوحدة مع بروتوكولات HTTP و HTTPS. يمكنك استخدام هذه الوحدة لتطبيق ميزات الوكيل (proxy) لهذه البروتوكولات.

mod_proxy_ftp

تعمل Mod_proxy_ftp عندما تتعامل مع بروتوكول FTP.

mod_proxy_connect

هذه الوحدة مفيدة عندما تقوم بنفق SSL (SSL tunneling).

mod_proxy_ajp

يمكنك استخدام mod_proxy_ajp عندما تعمل مع بروتوكول AJP.

mod_proxy_wstunnel

هذا مفيد عندما تعمل مع مقابس الويب (web sockets) مثل WS و WSS.

mod_proxy_balancer

إذا كنت تبحث عن الوصول إلى ميزات موازنة التحميل (load balancing) والتجميع (clustering)، فيمكنك استخدام هذه الوحدة.

mod_cache

تعد وحدة mod_cache مفيدة، كما هو متوقع، لأغراض التخزين المؤقت (caching).

mod_headers

يمكنك استخدام هذه الوحدة لإدارة الرؤوس (headers) التي تقوم بإنشائها باستخدام بروتوكول HTTP.

mod_deflate

تُستخدم هذه الوحدة لأغراض الضغط.

إذا كنت ترغب في معرفة المزيد من التفاصيل حول هذه الوحدات، يمكنك زيارة موقع Apache الرسمي. تمنحك الوثائق الرسمية مزيدًا من المعلومات حول mod_proxy و Apache نفسه أيضًا.

كيفية تثبيت Apache و mod_proxy؟

إليك بعض الخطوات السهلة المتابعة لتثبيت Apache و mod_proxy على نظامك:

  1. إعداد الخادم

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

استخدم الأوامر التالية لترقية تطبيقاتك:

  1. تثبيت الحزمة الأساسية

بمجرد إعداد الخادم الخاص بك، ستحتاج إلى تجهيزه بالأدوات الأساسية. لهذا الغرض، تحتاج إلى تثبيت حزمة build-essential. تتكون هذه الحزمة من جميع الأدوات الأساسية التي تحتاجها لتثبيت البرامج من المصدر. يمكنك تثبيتها باستخدام هذا الأمر:

  1. احصل على الوحدات والتبعيات

أخيرًا، تحتاج إلى تثبيت الوحدات والتبعيات. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:

تنشيط الوحدات: كيف تقوم بتكوين Apache مع اتصالات الوكيل؟

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

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

a2enmod output

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

من ناحية أخرى، يمكنك أيضًا تنشيط كل وحدة بشكل فردي. للقيام بذلك، يمكنك استخدام الأوامر التالية:

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

  1. تعديل إعدادات التكوين الافتراضية

أولاً، عليك تغيير إعدادات التكوين الافتراضية. للقيام بذلك، يجب عليك الوصول إلى ملف التكوين الافتراضي وهو 000-default.conf. يقع هذا الملف داخل /etc/apache2/sites-enabled. نحتاج إلى تعديله على هذا النحو حتى يحصل على وظيفة الوكيل.

ستبدأ بفتح محرر النصوص nano لتعديل المضيف الافتراضي الافتراضي. يمكنك القيام بذلك عن طريق تشغيل هذا الأمر:

سنشير بشكل جماعي إلى mod_virtual host و mod_proxy باسم مضيف الوكيل الافتراضي. الآن، يمكنك تطبيق إعدادات التكوين التالية. يمكنك إجراء التغييرات اللازمة كما تراه مناسبًا لنظامك ومتطلباتك:

يمكنك الحفظ والخروج بمجرد الضغط على Ctrl + X والتأكيد بحرف Y.

  1. تنشيط ميزة موازنة التحميل

موازنة التحميل تساعدك على توزيع الاتصالات بشكل فعال على الوكيل الخاص بك. هذه فكرة مفيدة للغاية عندما تستخدم خوادم تطبيقات خلفية متعددة بدلاً من خادم واحد. ستعمل ميزة موازنة التحميل على توزيع الاتصال أو 'العبء'.

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

  1. تنشيط دعم الوكيل العكسي

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

ستحتاج أيضًا إلى تمكين وحدة SSL لكي يعمل التكوين أعلاه:

  1. إعادة تشغيل Apache

تم الانتهاء من جميع التكوينات. أخيرًا، يمكنك إعادة تشغيل خادم Apache لتطبيق التغييرات. يمكنك إعادة تشغيل Apache عن طريق تشغيل الأمر التالي:

الخاتمة

ها قد انتهيت! لقد قمت بنجاح بإعداد بوابة وكيل عكسي في خادم Apache الخاص بك. الآن سيقوم Apache بإعادة توجيه الاتصالات الواردة إلى خوادم التطبيقات الخاصة بك في الخلفية.

الشيء الرائع في هذا هو أن عملية التكوين تتطلب القليل من الجهد وهي مباشرة للغاية. الآن بعد أن عرفت الخطوات الدقيقة للوصول إلى هناك، لن تواجه أي مشكلة على الإطلاق في إعداد وكيل عكسي في Apache.

حوسبة سعيدة!

Akshay Nagpal

المؤلف · CloudSigma

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.