تفويض الوكيل الأمامي في Apache: Require وAuthMerging
تتبَّع تفويض الوكيل على المستوى العام وعلى مستوى المضيف الافتراضي عبر قواعد دمج الأقسام في Apache، بدلًا من التعامل مع proxy.conf كطبقة سياسة منفصلة.
القاعدة في proxy.conf ليست فئة خاصة من القواعد. يقرأ Apache الإعدادات المضمَّنة في شجرة إعداده، والقسم المحيط العام أو VirtualHost أو القسم المطابق هو ما يحدد كيف تشارك التوجيهات.
ابدأ بالمستمع والمضيف الافتراضي اللذين يخدمان طلب الوكيل الأمامي. ثم اجمع أقسام Proxy المطابقة من ذلك السياق ومن الإعداد الرئيسي. ترتيب معالجة الأقسام هو المهم، لا مجرد أي ملف عُدِّل أخيرًا.
التفويض ليس تراكميًا دائمًا
مع سلوك AuthMerging Off الافتراضي، يُورَّث التفويض إلى أن يقدّم قسم لاحق منطبق منطقه الخاص في التفويض. ويمكن لذلك المنطق الجديد أن يستبدل المتطلبات السابقة بدلًا من أن يضيف قيدًا آخر.
| الإعداد | مزيجه مع أقرب قسم تفويض سابق |
|---|---|
| Off | يمكن للتفويض الجديد أن يتجاوز المنطق الموروث |
| And | يجب أن يصرّح كلاهما بالتفويض |
| Or | يمكن لأي من المجموعتين أن يصرّح بالتفويض |
AuthMerging نفسه محلي بالنسبة إلى القسم الذي يحتويه. لا تفترض أن تعيين And مرة واحدة يغيّر كل قسم لاحق.
أبقِ السياسة المقصودة صريحة حيثما أمكن. سطرا Require بدون حاوية تفويض محيطة هما بديلان ضمنيًا، لذا فإن قاعدة IP مع valid-user ليست تلقائيًا «IP ومستخدم». استخدم RequireAll عندما تنتمي الشرطان إلى القرار نفسه.
راجع الإعداد المطابق الكامل قبل تغيير حساب وكيل أو فتح الوصول. ثم اختبر الحالات المسموح بها والمرفوضة على المستمع العامل. قد يُرفض الطلب—أو يُسمح به بشكل غير متوقع—لأن قسمًا آخر قدّم التفويض الفعلي.