استضافة متعددة المواقع لبوابة التطبيق

تمكنك الاستضافة متعددة المواقع من تكوين أكثر من تطبيق ويب واحد على نفس منفذ بوابات التطبيق باستخدام وحدات الاستماع العامة. فهو يسمح لك بتكوين طوبولوجيا أكثر كفاءة للتوزيع الخاص بك عن طريق إضافة ما يصل إلى أكثر من 100 موقع ويب إلى بوابة تطبيق واحدة. يمكن توجيه كل موقع إلى مجموعة الواجهة الخلفية الخاصة به. على سبيل المثال، تشير ثلاثة مجالات وهي contoso.com وfabrikam.com وadatum.com إلى عنوان IP لبوابة التطبيق. يمكنك إنشاء ثلاثة مستمعين متعددة المواقع وتكوين كل وحدة بإعداد المنفذ والبروتوكول المعني لها.

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

Multi-site Application Gateway

هام

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

يتم توجيه طلبات http://contoso.com إلى ContosoServerPool، ويتم http://fabrikam.com توجيهها إلى FabrikamServerPool.

وبالمثل، يمكنك استضافة نطاقات فرعية متعددة من نفس المجال الأصلي على توزيع بوابة التطبيق نفسه. على سبيل المثال، يمكنك استضافة http://blog.contoso.com وعلى http://app.contoso.com نشر بوابة تطبيق واحدة.

طلب ترتيب تقييم قواعد التحويل

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

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

يؤثر حقل الأولوية فقط على ترتيب تقييم قاعدة توجيه الطلب، وهذا لن يغير ترتيب تقييم القواعد المستندة إلى المسار داخل PathBasedRouting قاعدة توجيه الطلب.

إشعار

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

هام

بدءا من إصدار واجهة برمجة التطبيقات 2021-08-01، حقل أولوية القاعدة هو حقل إلزامي في قواعد توجيه الطلب. يتم ملء قيم حقل أولوية القاعدة لقواعد توجيه الطلب الحالية، استنادا إلى الترتيب الحالي للتقييم كجزء من استدعاء PUT الأول، تلقائيا إذا تم تطبيق أي تحديثات تكوين باستخدام إصدار API 2021-08-01 وما فوق، المدخل وAzure PowerShell وAzure CLI. يجب أن تحتوي التحديثات المستقبلية لطلب قواعد التوجيه على حقل أولوية القاعدة المقدم كجزء من التكوين.

أسماء مضيفي أحرف البدل في وحدة الاستماع

تسمح بوابة التطبيق بالتوجيه المستند إلى المضيف باستخدام وحدة الاستماع HTTP(S) متعددة المواقع. الآن، يمكنك استخدام أحرف البدل مثل النجمة (*) وعلامة الاستفهام (؟) في اسم المضيف، وما قد يصل إلى 5 أسماء مضيف لكل وحدة استماع HTTP(S) متعددة المواقع. على سبيل المثال، *.contoso.com

يمكنك، من خلال استخدام حرف بدل في اسم المضيف، مطابقة أسماء مضيفين متعددة في وحدة استماع واحدة. على سبيل المثال، *.contoso.com يمكن أن يتطابق مع ecom.contoso.com، b2b.contoso.com وهكذا customer1.b2b.contoso.com . يمكنك، باستخدام صفيف أسماء المضيفين تكوين أكثر من اسم مضيف واحد لوحدة استماع لتوجيه الطلبات إلى مجموعة الواجهة الخلفية. على سبيل المثال، يمكن أن يحتوي المستمع على contoso.com, fabrikam.com الذي يقبل طلبات كلا الاسمين المضيفين.

Wildcard Listener

إشعار

تتوفر هذه الميزة فقط Standard_v2 WAF_v2 SKU لبوابة التطبيق.

في Azure PowerShell، يجب استخدام -HostNames بدلا من -HostName. باستخدام أسماء المضيف، يمكنك ذكر أسماء المضيفين لما قد يصل إلى 5 أسماء مضيفة كقيم مفصولة بفاصلة واستخدام أحرف البدل. على سبيل المثال، -HostNames "*.contoso.com","*.fabrikam.com"

في Azure CLI، يجب عليك استخدام --host-names بدلا من --host-name. يمكنك مع أسماء المضيفين ذكر أسماء المضيفين لما قد يصل إلى 5 أسماء مضيفة كقيم مفصولة بفاصلة واستخدام أحرف البدل. على سبيل المثال، --host-names "*.contoso.com,*.fabrikam.com"

في مدخل Microsoft Azure، ضمن وحدة الإصغاء متعددة المواقع، يجب اختيار نوع مضيف Multiple/Wildcard لذكر ما يصل إلى خمسة أسماء مضيفين مع أحرف البدل المسموح بها.

Wildcard Listener UI

أحرف المسموح بها في حقل أسماء المضيفين

  • (A-Z,a-z,0-9) - أحرف أبجدية رقمية
  • - - الواصلة أو علامة الطرح
  • . - نقطة كمحدد
  • * - يمكن أن تتطابق مع أحرف متعددة في النطاق المسموح به
  • ? - يمكن أن يتطابق مع حرف واحد في النطاق المسموح به

شروط استخدام أحرف البدل وأسماء المضيف المتعددة في وحدة استماع

  • يمكنك فقط ذكر أسماء مضيفين يصل عددها إلى 5 أسماء في وحدة استماع واحدة
  • يمكن ذكر العلامة النجمية * مرة واحدة فقط في مكون اسم نمط المجال أو اسم المضيف. على سبيل المثال، component1*.component2*.component3. (*.contoso-*.com) صالح.
  • يمكن أن يكون هناك ما يصل إلى نجمتين * فقط في اسم المضيف. على سبيل المثال، *.contoso.* صالح وغير *.contoso.*.*.com صالح.
  • يمكن أن يكون فقط 4 أحرف بدل كحد أقصى في اسم المضيف. على سبيل المثال، ????.contoso.com، w??.contoso*.edu.* صالحة، ولكنها ????.contoso.* غير صالحة.
  • استخدام علامة النجمة * وعلامة الاستفهام ? معا في مكون اسم مضيف (*? أو أو ?***) غير صالح. على سبيل المثال، *?.contoso.com و **.contoso.com غير صالحين.

اعتبارات وقيود استخدام أحرف البدل أو أسماء المضيفين المتعددة في وحدة استماع

  • يتطلب إنهاء SSL وSSL من طرف إلى طرف تكوين البروتوكول ك HTTPS وتحميل شهادة لاستخدامها في تكوين وحدة الاستماع. إذا كان وحدة استماع متعددة المواقع، يمكنك إدخال اسم المضيف أيضا، وعادة ما يكون هذا هو CN لشهادة SSL. عند تحديد أسماء مضيفين متعددة في وحدة الاستماع أو استخدام أحرف البدل، يجب مراعاة ما يلي:
    • إذا كان اسم مضيف حرف بدل مثل *.contoso.com، فيجب عليك تحميل شهادة حرف بدل باستخدام CN مثل *.contoso.com
    • إذا تم ذكر أسماء مضيفين متعددة في نفس وحدة الاستماع، فإنه يجب تحميل شهادة SAN (أسماء بديلة الموضوع) مع مطابقة CNs لأسماء المضيف المذكورة.
  • لا يمكنك استخدام تعبير عادي لذكر اسم المضيف. يمكنك فقط استخدام أحرف البدل مثل النجمة (*) وعلامة الاستفهام (؟) لتشكيل نموذج نمط اسم المضيف.
  • للتحقق من صحة الخلفية، لا يمكنك إقران فحوصات مخصصة متعددة لكل إعدادات HTTP. بدلاً من ذلك، يمكنك فحص أحد مواقع ويب في الواجهة الخلفية أو استخدام "127.0.0.1" لفحص localhost الخاص بالخادم الخلفي. ومع ذلك، عندما تستخدم حرف بدل أو أسماء مضيفين متعددة في وحدة استماع، يتم توجيه طلبات جميع أنماط المجال المحددة إلى تجمع الواجهة الخلفية اعتمادا على نوع القاعدة (الأساسي أو المستند إلى المسار).
  • تأخذ الخاصية "اسم المضيف" سلسلة واحدة كإدخل، حيث يمكنك ذكر اسم مجال واحد فقط غير حرف بدل. تأخذ الخاصية "أسماء المضيفين" صفيفا من السلاسل كإدخل، حيث يمكنك ذكر ما يصل إلى 5 أسماء مجالات لأحرف البدل. لا يمكن استخدام هاتين الخاصيتين في وقت واحد.

راجع إنشاء مواقع متعددة باستخدام Azure PowerShell أو استخدام Azure CLI للحصول على دليل خطوة بخطوة حول كيفية تكوين أسماء مضيفي أحرف البدل في وحدة استماع متعددة المواقع.

وحدة استماع متعددة المواقع لمستمعي بروتوكول TLS وTCP

تتوفر الميزة متعددة المواقع أيضا لوكيل Layer4، ولكن فقط لمستمعي TLS. يمكنك توجيه نسبة استخدام الشبكة لكل تطبيق إلى تجمع الخلفية الخاصة به عن طريق توفير أسماء المجالات في وحدة استماع TLS. لتشغيل الميزة متعددة المواقع على مستمعي TLS، تستخدم بوابة التطبيق قيمة إشارة اسم الخادم (SNI) (يقدم العملاء بشكل أساسي ملحق SNI لإحضار شهادة TLS الصحيحة). سيختار مستمع TLS متعدد المواقع قيمة SNI هذه من بيانات تأكيد اتصال TLS للاتصال الوارد وتوجيه هذا الاتصال إلى تجمع الخلفية المناسب. لا يحتوي اتصال TCP بطبيعته على مفهوم اسم المضيف أو اسم المجال؛ ومن ثم، هذا غير متوفر لمستمعي TCP.

عنوان المضيف وإشارة اسم الخادم(SNI)

هناك ثلاث آليات مشتركة لتمكين الاستضافة متعددة المواقع على نفس البنية الأساسية.

  1. استضافة تطبيقات ويب متعددة على أن تكون كل واحدة منها على عنوان IP فريد.
  2. قم باستخدام اسم المضيف لاستضافة تطبيقات ويب متعددة على نفس عنوان IP.
  3. قم باستخدام منافذ مختلفة لاستضافة تطبيقات ويب متعددة على نفس عنوان IP.

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

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

تعتمد بوابة التطبيق على عنوان المضيف HTTP 1.1 لتستضيف أكثر من موقع ويب واحد على نفس عنوان IP ونفس المنفذ. يمكن أن تدعم المواقع المستضافة على بوابة التطبيق أيضًا إلغاء تحميل TLS مع ملحق TLS الخاص بإشارة اسم الخادم (SNI). يعني هذا السيناريو أن متصفح العميل ومجموعة خوادم ويب الخلفية يجب أن تدعم HTTP/1.1 وملحق TLS كما هو محدد في RFC 6066.

الخطوات التالية

تعرف على كيفية تكوين الاستضافة متعددة المواقع في Application Gateway

راجع قالب Resource Manager باستخدام استضافة مواقع متعددة للنشر المستند إلى القالب من طرف إلى طرف.