تجهيز العقدة متعددة المستأجرين وتكوينها¶
تحمي العقدة متعددة المستأجرين عدة بنى تحتية مستقلة للشركات أو بيئات معزولة في وقت واحد.
خيارات تجهيز العقدة متعددة المستأجرين¶
اختر خيارات تجهيز العقدة متعددة المستأجرين بحسب البنية التحتية الخاصة بك والمشكلة المستهدفة:
-
قم بتجهيز عقدة Wallarm واحدة لتصفية حركة مرور جميع العملاء أو البيئات المعزولة كما يلي:
-
تعالج عقدة Wallarm الواحدة حركة مرور عدة مستأجرين (المستأجر 1، المستأجر 2).
The term "partner client"
Previously, "tenant" was referred to as "partner client". We further use the term "tenant".
-
تحدد عقدة Wallarm المستأجر الذي يتلقى حركة المرور عن طريق المعرّف الفريد للمستأجر (
wallarm_partner_client_uuid
أوpartner_client_uuid
في تثبيت Envoy). - بالنسبة للنطاقات
https://tenant1.com
وhttps://tenant2.com
، يتم تكوين السجلات، النطاق A، بعناوين IP الشريك أو العميل225.130.128.241
. يظهر هذا الإعداد كمثال، يمكن استخدام إعداد مختلف على جانب الشريك والمستأجر. - على جانب الشريك، يتم تكوين توجيه الطلبات الشرعية إلى عناوين المستأجر Tenant 1 (
http://upstream1:8080
) وTenant 2 (http://upstream2:8080
). يظهر هذا الإعداد كمثال، يمكن استخدام إعداد مختلف على جانب الشريك والمستأجر.
إذا كانت عقدة Wallarm من نوع CDN
حيث أنه لا يتم دعم تكوين
wallarm_application
بواسطة عقدة Wallarm CDN، فإن خيار التجهيز هذا لا يتم دعمه أيضًا بواسطة نوع العقدة CDN. إذا كان نوع العقدة المستخدم هو CDN، يرجى تجهيز عدة عقد تصفي كل واحدة منها حركة مرور مستأجر محدد. -
-
قم بتجهيز عدة عقد Wallarm كل واحدة منها تصفي حركة مرور مستأجر محدد كما يلي:
- عقد Wallarm عديدة كل واحدة منها تصفي حركة مرور مستأجر معين (المستأجر 1، المستأجر 2).
- بالنسبة للنطاق https://tenant1.com، يتم تكوين السجل النطاق مع عنوان IP العميل 225.130.128.241.
- بالنسبة للنطاق https://tenant2.com، يتم تكوين السجل النطاق مع عنوان IP العميل 225.130.128.242.
- يقوم كل عقدة بتوجيه الطلبات الشرعية إلى عوانين المستأجر الخاص بها:
- العقدة 1 إلى المستأجر 1 (http://upstream1:8080).
- العقدة 2 إلى المستأجر 2 (http://upstream2:8080).
خصائص العقدة متعددة المستأجرين¶
العقدة متعددة المستأجرين:
-
يمكن تثبيتها على نفس المنصات ووفقًا لنفس التعليمات كالعقدة الفلترة العادية.
-
يمكن تثبيتها على مستوى المستأجر التقني أو المستأجر. إذا كنت ترغب في تزويد المستأجر بالوصول إلى واجهة Wallarm Console، يجب تثبيت العقدة الفلترة على مستوى المستأجر المناسب.
-
يمكن تكوينها وفقًا لنفس التعليمات كالعقدة الفلترة العادية.
-
يتم استخدام التوجيه
wallarm_partner_client_uuid
لتقسيم حركة المرور بواسطة المستأجرين. -
يتم استخدام التوجيه
wallarm_application
لتقسيم الإعدادات بواسطة التطبيقات.
متطلبات التجهيز¶
-
تنفيذ الأوامر الأخرى بواسطة المستخدم ذي دور المدير العام المضاف تحت حساب المستأجر التقني
التوصيات لتجهيز عقدة متعددة المستأجرين¶
-
إذا كان مطلوبًا للمستأجر الوصول إلى واجهة Wallarm Console، أنشئ عقدة فلترة ضمن حساب المستأجر المناسب.
-
قم بتكوين العقدة الفلترة عبر ملف تكوين NGINX للمستأجر.
الإجراء لتجهيز عقدة متعددة المستأجرين¶
-
في واجهة Wallarm Console → العُقد، اضغط على إنشاء عقدة وحدد عقدة Wallarm.
التبديل بين عقدة Wallarm موجودة ووضع متعدد المستأجرين
إذا كنت تريد التبديل بين عقدة Wallarm موجودة ووضع متعدد المستأجرين، استخدم الخيار جعلها متعددة المستأجرين من القائمة المطلوبة للعقدة في القسم العقد.
بمجرد التبديل والتأكيد، انتقل إلى الخطوة الرابعة.
-
حدد الخيار العقدة متعددة المستأجرين.
-
اضبط اسم العقدة واضغط على إنشاء.
-
انسخ الرمز المميز للعقدة الفلترة.
-
اعتمادًا على نموذج تجهيز العقدة الفلترة، قم بإجراء الخطوات من التعليمات المناسبة.
-
قم بتقسيم حركة المرور بين المستأجرين باستخدام معرفاتهم الفريدة.
افتح ملف تكوين NGINX للمستأجر وقم بتقسيم حركة المرور بين المستأجرين باستخدام التوجيه
wallarm_partner_client_uuid
. انظر الأمثلة أدناه.استخدم التعليقات التوضيحية لـ Ingress
nginx.ingress.kubernetes.io/wallarm-partner-client-uuid
لتعيين UUID للمستأجر لكل مورد Ingress. يتعلق المورد الواحد بالمستأجر الواحد:- افتح ملف التهيئة لـ NGINX وقم بتقسيم حركة المرور بين المستأجرين باستخدام التوجيه
wallarm_partner_client_uuid
. انظر الأمثلة أدناه. - قم بتشغيل الحاوية المستندة إلى Docker بتحميل ملف التكوين.
- افتح ملف التكوين
envoy.yaml
وقم بتقسيم حركة المرور بين المستأجرين باستخدام العاملpartner_client_uuid
. - قم بتشغيل الحاوية المستندة إلى Docker والتي تحمل
envoy.yaml
المعدّ مسبقًا.
- افتح ملف التكوين NGINX وقم بتقسيم حركة المرور بين المستأجرين باستخدام التوجيه
wallarm_partner_client_uuid
. - قم بتحميل ملف التكوين NGINX إلى العبوة الجانبية لـ Wallarm.
مثال على ملف تكوين NGINX للعقدة الفلترة التي تعالج حركة مرور عميلين:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } } server { listen 80; server_name tenant2.com; wallarm_mode monitoring; wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222; location / { proxy_pass http://upstream2:8080; } }
- على جانب المستأجر، يتم تكوين السجلات النطاق A بعنوان IP الشريك
- على جانب الشريك، يُكوِّن توجيه الطلبات إلى عناوين المستأجرين (
http://upstream1:8080
للمستأجر بـwallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
وhttp://upstream2:8080
للمستأجر بـwallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
) - يتم معالجة جميع الطلبات الواردة على عنوان الشريك، ويتم توجيه الطلبات الشرعية إلى
http://upstream1:8080
للمستأجر بـwallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111
وإلىhttp://upstream2:8080
للمستأجر بـwallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222
- افتح ملف التهيئة لـ NGINX وقم بتقسيم حركة المرور بين المستأجرين باستخدام التوجيه
-
إذا لزم الأمر، حدد معرفات التطبيقات للمستأجر باستخدام التوجيه
wallarm_application
.مثال:
server { listen 80; server_name tenant1.com; wallarm_mode block; wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111; location / { proxy_pass http://upstream1:8080; } location /login { wallarm_application 21; ... } location /users { wallarm_application 22; ... } }
ينتمي تطبيقان إلى المستأجر
11111111-1111-1111-1111-111111111111
:tenant1.com/login
هو التطبيق21
tenant1.com/users
هو التطبيق22
تكوين عقدة متعددة المستأجرين¶
لتخصيص إعدادات العقدة الفلترة، استخدم التوجيهات المتاحة.
Common customization options:
-
Using the balancer of the proxy server behind the filtering node
-
Limiting the single request processing time in the directive
wallarm_process_time_limit
-
Limiting the server reply waiting time in the NGINX directive
proxy_read_timeout
-
Limiting the maximum request size in the NGINX directive
client_max_body_size