ابدأ الآن سيريا بروكسي syriaproxy أول خدمة بروكسي مختصة بسوريا

الفرق بين البروكسي الأمامي والبروكسي العكسي

البروكسي الأمامي (forward proxy) يعمل لحساب المستخدم: أنت تختاره، والمواقع ترى عنوانه بدل عنوانك. البروكسي العكسي (reverse proxy) يعمل لحساب الموقع: يضعه صاحب الموقع أمام خوادمه، والزائر يظن أنه يتصل بالموقع نفسه. التقنية متشابهة، والفرق في الجهة التي يمثّلها الوسيط.

التعريف في المعيار

تفرّق RFC 9110، القسم 3.7 بين الوسيطين بوضوح. البروكسي وكيل لتمرير الرسائل يختاره العميل، عادةً بإعدادات محلية. أما البوابة (gateway)، المعروفة أيضاً بالبروكسي العكسي، فوسيط يتصرف كأنه الخادم الأصلي أمام العميل، ثم يمرّر الطلبات إلى خوادم أخرى خلفه.

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

البروكسي الأمامي

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

ومن استعمالاته الأخرى:

يُضبط عادةً في إعدادات المتصفح، أو بملف PAC، أو بمتغيرات البيئة HTTP_PROXY وHTTPS_PROXY التي تقرؤها كثير من أدوات سطر الأوامر. أنواعه بحسب البروتوكول مشروحة في ما هو البروكسي.

البروكسي العكسي

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

  1. يسأل متصفحك عن اسم الموقع في DNS، فيحصل على عنوان البروكسي العكسي لا عنوان الخادم الأصلي.
  2. يتفاوض المتصفح على TLS مع البروكسي العكسي، وهو يحمل شهادة الموقع ومفتاحها.
  3. يفك البروكسي التشفير ويقرأ الطلب، ثم يقرر: هل يرد من ذاكرته المؤقتة، أم يحجب الطلب، أم يرسله إلى أحد الخوادم خلفه.
  4. عند التمرير يفتح اتصالاً بالخادم الأصلي، وقد يضيف ترويسات تحمل عنوانك الحقيقي.
  5. يعود الرد عبر البروكسي إلى متصفحك، وقد يضغطه أو يخزّنه في الطريق.

استعمالاته الشائعة: توزيع الحمل على عدة خوادم، وإنهاء TLS في مكان واحد، والتخزين المؤقت، وحماية التطبيقات بجدار ناري للويب، وإخفاء عنوان الخادم الأصلي. وشبكات توصيل المحتوى (CDN) في جوهرها شبكة واسعة من البروكسيات العكسية.

ماذا يرى الخادم الأصلي

اتصال TCP الذي يصل إلى الخادم الأصلي يأتي من البروكسي العكسي، لا من الزائر. لذلك تُسجَّل في سجلات الخادم عناوين البروكسي ما لم يُضبط لقراءة عنوان الزائر من مصدر آخر.

والمصدر إما ترويسة يضيفها البروكسي إلى طلب HTTP، كما في القسم التالي، وإما بروتوكول PROXY الذي وضعه مطوّرو HAProxy. وهذا الأخير يضيف سطراً في بداية اتصال TCP يحمل عنوان الزائر، فيصلح لغير HTTP أيضاً.

المقارنة

البروكسي الأماميالبروكسي العكسي
من يختارهالمستخدم أو مدير شبكتهصاحب الموقع
من يمثّلالعميل أمام المواقعالخوادم أمام الزوار
هل يعرف به الطرف الآخرالموقع يرى عنوان البروكسي وقد لا يعرف أنه بروكسيالزائر يرى عنوان البروكسي ويظنه الموقع
طريقة الوصول إليهإعداد في البرنامج أو النظامسجلات DNS للموقع
شهادة TLSلا يحمل شهادات المواقع، ويمرّر https في نفقيحمل شهادة الموقع ويفك التشفير
ما يُخفيهعنوان المستخدم عن المواقععنوان الخادم وبنيته عن الزوار

الترويسات التي يضيفها الوسطاء

حين يمرّر وسيطٌ طلب HTTP يقرؤه، قد يضيف ترويسات تصف الطريق. والبروكسي العكسي يستطيع ذلك دائماً، لأنه يقرأ الطلب بعد فك تشفيره. أما البروكسي الأمامي فلا يستطيع ذلك إلا في طلبات http:// غير المشفّرة.

هذا مثال من RFC 7239 لطلب مر ببروكسيين:

Forwarded: for=192.0.2.43, for=198.51.100.17;by=203.0.113.60;proto=http;host=example.com

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

خطأ أمني معروف خلف البروكسي العكسي

العميل يستطيع أن يكتب ترويسة X-Forwarded-For بنفسه. فإن أخذ التطبيق خلف البروكسي أول عنوان فيها دون تحقق، يستطيع أي زائر انتحال أي عنوان، فيتجاوز حدود الطلبات أو قوائم الحظر.

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

كيف تعرف ما في طريقك

لمعرفة ما إذا كان البروكسي الأمامي الذي تستعمله يكشف عنوانك، افتح أداة عنوانك عبره، فهي تعرض الترويسات التي وصلت. إن ظهرت Via أو X-Forwarded-For أو Forwarded وفيها عنوانك، فالبروكسي يمرّره إلى المواقع.

ولمعرفة ما إذا كان موقع ما خلف بروكسي عكسي، اطلب ترويساته:

curl -sI https://example.com/

ابحث في الرد عن Server وVia وترويسات التخزين المؤقت مثل Age. ثم ابحث عن عنوان الموقع في أداة البحث عن عنوان. فإن كانت الشبكة (ASN) لشبكة توصيل محتوى، فأنت تتصل ببروكسي عكسي لا بالخادم الأصلي.

نصائح عامة

في syriaproxy

خدمتنا بروكسي أمامي: أنت تختاره في برنامجك أو جهازك، والموقع يرى عنواناً خلوياً من شبكة سيريتل داخل سوريا يشترك فيه مشتركون كثيرون خلف NAT المزوّد. الفرق بين هذا العنوان وعناوين الخوادم في العنوان الخلوي وعنوان مركز البيانات.

أسئلة شائعة

هل شبكة توصيل المحتوى (CDN) بروكسي عكسي؟

نعم في جوهرها. خوادمها تستقبل الزوار باسم الموقع، وترد من ذاكرتها المؤقتة، وتمرّر الباقي إلى الخادم الأصلي.

هل يُخفي البروكسي العكسي عنواني بوصفي زائراً؟

لا. هو يُخفي عنوان الخادم عنك، لا عنوانك عن الخادم. وقد يمرّر عنوانك إلى الخادم في ترويسة.

هل يمكن أن يكون الخادم نفسه بروكسي أمامياً وعكسياً؟

نعم. برامج مثل nginx وHAProxy وSquid تستطيع العمل بالدورين، والفرق في الإعداد ومن يتصل بها.

هل VPN بروكسي أمامي؟

تؤدي الدور نفسه من حيث تغيير عنوان الخروج، لكنها تعمل على مستوى حزم IP للجهاز كله، لا على مستوى طلبات برنامج واحد. الشرح في ما هي VPN.

اعرض الترويسات التي يرسلها متصفحك بأداة ترويسات HTTP المجانية، مع البروكسي ودونه.