كون «خدمة التطبيقات» مع بوابة التطبيق

تتيح لك بوابة التطبيق الحصول على تطبيق App Service أو خدمة أخرى متعددة المستأجرين كعضو في تجمع الخلفية. في هذه المقالة، ستتعلم تكوين تطبيق خدمة التطبيقات باستخدام بوابة التطبيق. سيختلف تكوين Application Gateway اعتمادا على كيفية الوصول إلى App Service:

  • يستخدم الخيار الأول مجالا مخصصا على كل من Application Gateway وApp Service في الخلفية.
  • الخيار الثاني هو أن يكون Application Gateway access App Service باستخدام مجالها الافتراضي، لاحقة ك ".azurewebsites.net".

يوصى بهذا التكوين لسيناريوهات مستوى الإنتاج ويلبي ممارسة عدم تغيير اسم المضيف في تدفق الطلب. يجب أن يكون لديك مجال مخصص (وشهادة مقترنة) متاحة لتجنب الاضطرار إلى الاعتماد على المجال الافتراضي "azurewebsites".

من خلال إقران نفس اسم المجال بكل من Application Gateway وApp Service في تجمع الواجهة الخلفية، لا يحتاج تدفق الطلب إلى تجاوز اسم المضيف. سيرى تطبيق الويب الخلفي المضيف الأصلي كما تم استخدامه من قبل العميل.

Scenario overview for Application Gateway to App Service using the same custom domain for both

في هذا المقال، ستتعلم كيفية إجراء ما يلي:

  • تهيئة DNS
  • إضافة App Service كتجمع خلفية إلى بوابة التطبيق
  • تكوين الإعدادات HTTP للاتصال بخدمة التطبيقات
  • تكوين مستمع HTTP
  • تكوين قاعدة توجيه الطلب

المتطلبات الأساسية

تكوين DNS

في سياق هذا السيناريو، يكون DNS ذا صلة في مكانين:

  • اسم DNS، الذي يستخدمه المستخدم أو العميل تجاه Application Gateway وما يظهر في المستعرض
  • اسم DNS، الذي تستخدمه بوابة التطبيق داخليا للوصول إلى App Service في الخلفية

توجيه المستخدم أو العميل إلى بوابة التطبيق باستخدام المجال المخصص. إعداد DNS باستخدام اسم مستعار CNAME يشير إلى DNS لبوابة التطبيق. يظهر عنوان DNS لبوابة التطبيق في صفحة النظرة العامة لعنوان IP العام المقترن. بدلا من ذلك، قم بإنشاء سجل A يشير إلى عنوان IP مباشرة. (بالنسبة ل Application Gateway V1، يمكن أن يتغير VIP إذا قمت بإيقاف الخدمة وبدء تشغيلها، ما يجعل هذا الخيار غير مستنير.)

يجب تكوين خدمة التطبيقات بحيث تقبل نسبة استخدام الشبكة من بوابة التطبيق باستخدام اسم المجال المخصص كمضيف وارد. لمزيد من المعلومات حول كيفية تعيين مجال مخصص إلى App Service، راجع البرنامج التعليمي: تعيين اسم DNS مخصص موجود إلى Azure App Service للتحقق من المجال، تتطلب App Service فقط إضافة سجل TXT. لا يلزم إجراء أي تغيير على سجلات CNAME أو A. سيظل تكوين DNS للمجال المخصص موجها نحو Application Gateway.

لقبول الاتصالات بخدمة التطبيقات عبر HTTPS، قم بتكوين ربط TLS الخاص به. لمزيد من المعلومات، راجع تأمين اسم DNS مخصص مع ربط TLS/SSL في خدمة تطبيقات Azure تكوين خدمة التطبيقات لسحب الشهادة للمجال المخصص من Azure Key Vault.

أضف «خدمة التطبيقات» كتجمع خلفي

  1. في مدخل Microsoft Azure، حدد Application Gateway.

  2. ضمن تجمعات الواجهة الخلفية، حدد «تجمع الواجهة الخلفية».

  3. ضمن نوع الهدف، حددخدمات التطبيقات.

  4. ضمن الهدفحدد «خدمة التطبيق الخاصة بك».

    App service backend

    إشعار

    تقوم القائمة المنسدلة فقط بملء خدمات التطبيقات الموجودة في نفس الاشتراك مثل بوابة التطبيق الخاصة بك. إذا كنت ترغب في استخدام خدمة تطبيق في اشتراك مختلف عن الاشتراك الذي توجد فيه بوابة التطبيق، فبدلا من اختيار App Services في القائمة المنسدلة Targets ، اختر عنوان IP أو اسم المضيف وأدخل اسم المضيف (example.azurewebsites.net) لخدمة التطبيق.

  5. حدد حفظ.

حرر إعدادات HTTP لخدمة التطبيقات

مطلوب إعداد HTTP الذي يوجه Application Gateway للوصول إلى الواجهة الخلفية لخدمة التطبيقات باستخدام اسم المجال المخصص. سيستخدم إعداد HTTP بشكل افتراضي مسبار السلامة الافتراضي. بينما ستقوم تحقيقات السلامة الافتراضية بإعادة توجيه الطلبات باسم المضيف الذي يتم استلام حركة المرور فيه، ستستخدم تحقيقات السلامة 127.0.0.1 كنم المضيف إلى تجمع الواجهة الخلفية حيث لم يتم تعريف اسم المضيف بشكل صريح. لهذا السبب، نحتاج إلى إنشاء فحص صحة مخصص تم تكوينه باسم المجال المخصص الصحيح كاسم مضيفه.

سنتصل بالواجهة الخلفية باستخدام HTTPS.

  1. ضمن الإعدادات HTTP، حدد إعداد HTTP موجود أو أضف إعدادا جديدا.
  2. عند إنشاء إعداد HTTP جديد، قم بإعطائه اسما
  3. حدد HTTPS كبروتوكول الواجهة الخلفية المطلوب باستخدام المنفذ 443
  4. إذا تم توقيع الشهادة من قبل مرجع معروف، فحدد "نعم" ل "شهادة المرجع المصدق المعروفة للمستخدم". بدلا من ذلك ، أضف المصادقة/شهادات الجذر الموثوق بها للخوادم الخلفية
  5. تأكد من تعيين "تجاوز باسم مضيف جديد" إلى "لا"
  6. حدد فحص صحة HTTPS المخصص في القائمة المنسدلة ل "فحص مخصص".

Configure H T T P Settings to use custom domain towards App Service backend using No Override

تكوين وحدة إصغاء HTTP

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

  1. افتح قسم "المستمعون" واختر "إضافة وحدة استماع" أو انقر فوق وحدة استماع موجودة لتحريرها
  2. لمستمع جديد: قم بإعطائه اسما
  3. ضمن "Frontend IP"، حدد عنوان IP للاستماع إليه
  4. ضمن "المنفذ"، حدد 443
  5. ضمن "Protocol"، حدد "HTTPS"
  6. ضمن "Choose a certificate"، حدد "Choose a certificate from Key Vault". لمزيد من المعلومات، راجع استخدام Key Vault حيث يمكنك العثور على مزيد من المعلومات حول كيفية تعيين هوية مدارة وتزويدها بحقوق Key Vault.
    1. إعطاء الشهادة اسما
    2. حدد الهوية المدارة
    3. حدد Key Vault من أين تحصل على الشهادة
    4. حدد الشهادة
  7. ضمن "نوع المستمع"، حدد "أساسي"
  8. انقر فوق "إضافة" لإضافة وحدة الاستماع

Add a listener for H T T P S traffic

تكوين قاعدة توجيه الطلب

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

  1. ضمن "القواعد"، انقر لإضافة "طلب قاعدة توجيه" جديدة
  2. توفير القاعدة باسم
  3. حدد مستمع HTTP أو HTTPS غير مرتبط حتى الآن بقاعدة توجيه موجودة
  4. ضمن "أهداف الواجهة الخلفية"، اختر تجمع الواجهة الخلفية الذي تم تكوين App Service فيه
  5. تكوين إعدادات HTTP التي يجب أن تتصل بها بوابة التطبيق بالواجهة الخلفية ل App Service
  6. حدد "إضافة" لحفظ هذا التكوين

Add a new Routing rule from the listener to the App Service Backend Pool using the configured H T T P Settings

الاختبار

قبل أن نفعل ذلك، تأكد من أن صحة الخلفية تظهر على أنها صحية:

افتح قسم "Backend health" وتأكد من أن العمود "Status" يشير إلى الجمع بين HTTP Setting و Backend Pool الذي يظهر على أنه "صحي".

Check backend health in Azure portal

الآن استعرض إلى تطبيق الويب باستخدام المجال المخصص الذي قمت بإقرانه بكل من Application Gateway وApp Service في الخلفية.

تقييد الوصول

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

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