دمج بيئة خدمة تطبيق ILB مع Azure Application Gateway

تُعد App Service Environment عملية نشر لـ Azure App Service في الشبكة الفرعية لشبكة Azure الظاهرية للعميل. يمكن نشرها باستخدام نقطة نهاية خارجية أو داخلية للوصول إلى التطبيق. تسمى عملية نشر بيئة App Service مع نقطة نهاية داخلية بيئة App Service (ASE) لموازنة التحميل الداخلية (ILB).

تساعد جدران حماية تطبيقات الويب في تأمين تطبيقات الويب الخاصة بك عن طريق فحص حركة مرور الويب الواردة لحظر حقن SQL والبرمجة النصية عبر المواقع وتحميلات البرامج الضارة وتطبيق DDoS وغيرها من الهجمات. يمكنك الحصول على جهاز WAF من Azure Marketplace أو يمكنك استخدام Azure Application Gateway.

Azure Application Gateway عبارة عن جهاز ظاهري يوفر موازنة تحميل من الطبقة 7 وإلغاء تحميل TLS/SSL وحماية جدار حماية تطبيق الويب (WAF). يمكنه الاستماع إلى عنوان IP عام وتوجيه نسبة استخدام الشبكة إلى نقطة نهاية التطبيق خاصتك. توضح المعلومات التالية كيفية دمج بوابة تطبيق تم تكوينها بواسطة WAF مع تطبيق في بيئة ILB App Service.

دمج بوابة التطبيق مع بيئة ILB App Service يحدث على مستوى التطبيق. عندما تقوم بتكوين بوابة التطبيق مع بيئة ILB App Service الخاصة بك، فأنت تقوم بذلك لتطبيقات معينة في بيئة ILB App Service الخاصة بك. تتيح هذه التقنية استضافة تطبيقات آمنة متعددة المستأجرين في بيئة ILB App Service واحدة.

Screenshot of High level integration diagram

في هذه الإرشادات التفصيلية، سوف تقوم بما يلي:

  • إنشاء Azure Application Gateway.
  • تكوين بوابة التطبيق للإشارة إلى تطبيق في بيئة ILB App Service الخاصة بك.
  • تحرير اسم مضيف DNS العام الذي يشير إلى بوابة التطبيق خاصتك.

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

لدمج بوابة التطبيق خاصتك مع بيئة ILB App Service الخاصة بك، تحتاج إلى:

  • بيئة ILB App Service.
  • منطقة DNS خاصة لبيئة ILB App Service.
  • تطبيق يعمل في بيئة ILB App Service.
  • اسم DNS عام يتم استخدامه لاحقًا للإشارة إلى بوابة التطبيق.
  • إذا كنت بحاجة إلى استخدام تشفير TLS/SSL إلى بوابة التطبيق، فستكون هناك حاجة إلى شهادة عامة صالحة تُستخدم للربط ببوابة التطبيق خاصتك.

بيئة ILB App Service

للحصول على تفاصيل حول كيفية إنشاء بيئة خدمة تطبيق ILB، راجع إنشاء ASE في مدخل Microsoft Azure وإنشاء ASE باستخدام قالب ARM.

  • بعد إنشاء ILB ASE، يكون المجال الافتراضي هو <YourAseName>.appserviceenvironment.net.

    Screenshot of ILB ASE Overview

  • يتم توفير موازنة تحميل داخلية للوصول الوارد. يمكنك التحقق من العنوان الوارد في عناوين IP ضمن إعدادات ASE. يمكنك إنشاء منطقة DNS خاصة تم تعيينها إلى عنوان IP هذا لاحقًا.

    Screenshot of getting the inbound address from ILB ASE IP addresses settings.

منطقة DNS خاصة

تحتاج إلى منطقة DNS خاصة لتحليل الاسم الداخلي. قم بإنشائها باستخدام اسم ASE باستخدام مجموعات السجلات الموضحة في الجدول التالي (للحصول على الإرشادات، راجع التشغيل السريع - إنشاء منطقة DNS خاصة لـ Azure باستخدام مدخل Microsoft Azure).

Name نوع القيمة‬
* ش عنوان ASE الوارد
@ ش عنوان ASE الوارد
@ SOA اسم DNS لـ ASE
*.scm ش عنوان ASE الوارد

App Service على ILB ASE

تحتاج إلى إنشاء خطة App Service وتطبيق في ILB ASE. عند إنشاء التطبيق في المدخل، حدد ILB ASE فيالمنطقة.

اسم DNS عام لبوابة التطبيق

للاتصال ببوابة التطبيق من الإنترنت، تحتاج إلى اسم مجال قابل للتوجيه. في هذه الحالة، استخدمت اسم المجال القابل للتوجيه asabuludemo.com وأخطط للاتصال بـ App Service باستخدام اسم المجال هذا app.asabuludemo.com. يجب تعيين عنوان IP المعين لاسم مجال التطبيق هذا إلى عنوان IP العام لبوابة التطبيق بعد إنشاء بوابة التطبيق. باستخدام مجال عام تم تعيينه إلى بوابة التطبيق، لن تحتاج إلى تكوين مجال مخصص في App Service. يمكنك شراء اسم مجال مخصص باستخدام App Service Domains.

شهادة عامة صالحة

لتحسين الأمان، يُوصى بربط شهادة TLS/SSL لتشفير الجلسة. لربط شهادة TLS/SSL ببوابة التطبيق، يلزم تقديم شهادة عامة صالحة تحتوي على المعلومات التالية. باستخدام شهادات App Service، يمكنك شراء شهادة TLS/SSL وتصديرها بتنسيق .pfx.

الاسم قيمة ‏‏الوصف
الاسم الشائع <yourappname>.<yourdomainname>على سبيل المثال: app.asabuludemo.com
أو *.<yourdomainname>، على سبيل المثال: *.asabuludemo.com
شهادة قياسية أو شهادة بدل لبوابة التطبيق
الاسم البديل للموضوع <yourappname>.scm.<yourdomainname>على سبيل المثال: app.scm.asabuludemo.com
أو *.scm.<yourdomainname>، على سبيل المثال: *.scm.asabuludemo.com
شبكة منطقة النظام (SAN) التي تسمح بالاتصال بخدمة App Service kudu. إنها إعداد اختياري، إذا كنت لا ترغب في نشر خدمة App Service kudu على الإنترنت.

يجب أن يحتوي ملف الشهادة على مفتاح خاص ويتم حفظه بتنسيق .pfx، وسيتم استيراده إلى بوابة التطبيق لاحقًا.

إنشاء بوابة تطبيق

لإنشاء بوابة التطبيق الأساسية، راجع البرنامج التعليمي: إنشاء بوابة تطبيق باستخدام جدار حماية تطبيق ويب باستخدام مدخل Microsoft Azure.

في هذا البرنامج التعليمي، سنستخدم مدخل Microsoft Azure لإنشاء بوابة تطبيق باستخدام بيئة ILB App Service.

في مدخل Microsoft Azure، حدد جديد>الشبكة>بوابة التطبيق لإنشاء بوابة تطبيق.

  1. إعداد الأساسيات

    في القائمة المنسدلة الطبقة، يمكنك تحديد Standard V2 أو WAF V2 لتمكين ميزة WAF على بوابة التطبيق.

  2. إعداد الواجهات الأمامية

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

    • عنوان IP العام - تحتاج إلى إقران عنوان IP عام للوصول العام لبوابة التطبيق. سجل عنوان IP هذا، تحتاج إلى إضافة سجل في خدمة DNS الخاصة بك لاحقًا.

      Screenshot of getting a public IP address from the application gateway frontends setting.

  3. إعداد الواجهات الخلفية

    أدخل اسم تجمع الواجهة الخلفية وحدد خدمات التطبيقات أو عنوان IP أو FQDN في نوع الهدف. في هذه الحالة، قمنا بتعيين خدمات التطبيقات وحددنا اسم App Service من القائمة المنسدلة الهدف.

    Screenshot of adding a backend pool name in backends setting.

  4. إعداد التكوين

    في إعداد التكوين ، تحتاج إلى إضافة قاعدة توجيه عن طريق تحديد إضافة أيقونة قاعدة التحويل.

    Screenshot of adding a routing rule in configuration setting.

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

    • للاتصال ببوابة التطبيق باستخدام بروتوكول HTTP، يمكنك إنشاء مستمع بالإعدادات التالية،

      المعلمة قيمة ‏‏الوصف
      اسم القاعدة على سبيل المثال: http-routingrule اسم التحويل
      اسم وحدة الاستماع على سبيل المثال: http-listener اسم وحدة الاستماع
      IP أمامي ‏‏عامة للوصول إلى الإنترنت، اضبط على عام
      البروتوكول HTTP لا تستخدم تشفير TLS/SSL
      المنفذ 80 منفذ HTTP الافتراضي
      نوع وحدة الاستماع مواقع متعددة السماح بالاستماع إلى مواقع متعددة على بوابة التطبيق
      نوع المضيف متعدد/حرف بدل قم بالتعيين إلى اسم موقع ويب متعدد أو حرف بدل إذا تم تعيين نوع المستمع إلى مواقع متعددة.
      اسم المضيف على سبيل المثال: app.asabuludemo.com تعيين اسم مجال قابل للتوجيه لـ App Service

      Screenshot of HTTP Listener of the application gateway Routing Rule.

    • للاتصال ببوابة التطبيق باستخدام تشفير TLS/SSL، يمكنك إنشاء مستمع بالإعدادات التالية،

      المعلمة قيمة ‏‏الوصف
      اسم القاعدة على سبيل المثال: https-routingrule اسم التحويل
      اسم وحدة الاستماع على سبيل المثال: https-listener اسم وحدة الاستماع
      IP أمامي ‏‏عامة للوصول إلى الإنترنت، اضبط على عام
      البروتوكول HTTPS استخدام تشفير TLS/SSL
      المنفذ 443 منفذ HTTPS الافتراضي
      إعدادات Https تحميل شهادة قم بتحميل شهادة تحتوي على CN والمفتاح الخاص بتنسيق .pfx.
      نوع وحدة الاستماع مواقع متعددة السماح بالاستماع إلى مواقع متعددة على بوابة التطبيق
      نوع المضيف متعدد/حرف بدل قم بالتعيين إلى اسم موقع ويب متعدد أو حرف بدل إذا تم تعيين نوع المستمع إلى مواقع متعددة.
      اسم المضيف على سبيل المثال: app.asabuludemo.com تعيين اسم مجال قابل للتوجيه لـ App Service

      HTTPS listener of the application gateway Routing Rule.

    • يجب عليك تكوين تجمع الواجهة الخلفية وإعداد HTTP في أهداف الواجهة الخلفية. تم تكوين تجمع الواجهة الخلفية في الخطوات السابقة. حدد إضافة ارتباط جديد لإضافة إعداد HTTP.

      Screenshot of adding new link to add an H T T P setting.

    • إعدادات HTTP مدرجة على النحو التالي:

      المعلمة قيمة ‏‏الوصف
      اسم إعداد HTTP على سبيل المثال: https-setting اسم إعداد HTTP
      بروتوكول الواجهة الخلفية HTTPS استخدام تشفير TLS/SSL
      منفذ خلفي 443 منفذ HTTPS الافتراضي
      استخدام شهادة CA المعروفة ‏‏نعم‬ اسم المجال الافتراضي لـ ILB ASE هو .appserviceenvironment.net، يتم إصدار شهادة هذا المجال من قبل مرجع جذري موثوق به عام. في إعداد شهادة الجذر الموثوق بها، يمكنك التعيين لاستخدام شهادة الجذر الموثوق بها المعروفة من CA.
      التجاوز باسم المضيف الجديد ‏‏نعم‬ ستتم الكتابة فوق عنوان اسم المضيف عند الاتصال بالتطبيق على ILB ASE
      تجاوز اسم مضيف اختيار اسم المضيف من هدف الواجهة الخلفية عند تعيين تجمع الواجهة الخلفية إلى App Service، يمكنك اختيار المضيف من هدف الواجهة الخلفية
      إنشاء فحوصات مخصصة لا استخدام فحص السلامة الافتراضي

      Screenshot of **Add an H T T P setting** dialog.

تكوين دمج بوابة تطبيق مع ILB ASE

للوصول إلى ILB ASE من بوابة التطبيق، تحتاج إلى التحقق مما إذا كانت الشبكة الظاهرية ترتبط بمنطقة DNS خاصة. إذا لم تكن هناك شبكة ظاهرية مرتبطة بالشبكة الظاهرية لبوابة التطبيق، أضف ارتباط شبكة ظاهرية بالخطوات التالية.

  • لتكوين ارتباط الشبكة الظاهرية مع منطقة DNS الخاصة، انتقل إلى مستوى تكوين منطقة DNS الخاصة. حدد ارتباطات الشبكة الظاهرية>إضافة

Add a virtual network link to private DNS zone.

  • أدخل اسم الارتباط وحدد الاشتراك المعنيّ والشبكة الظاهرية التي توجد فيها بوابة التطبيق.

Screenshot of input link name details to virtual network links setting in private DNS zone.

  • يمكنك تأكيد الحالة الصحية للواجهة الخلفية من صحة الواجهة الخلفية في مستوى بوابة التطبيق.

Screenshot of confirm the backend health status from backend health.

إضافة سجل DNS عام

تحتاج إلى تكوين تعيين DNS مناسب عند الوصول إلى بوابة التطبيق من الإنترنت.

  • يمكن العثور على عنوان IP العام لبوابة التطبيق في تكوينات IP للواجهة الأمامية في مستوى بوابة التطبيق.

Application gateway frontend IP address can be found in Frontend IP configuration.

  • استخدم خدمة Azure DNS على سبيل المثال، يمكنك إضافة مجموعة سجلات لتعيين اسم مجال التطبيق إلى عنوان IP العام لبوابة التطبيق.

Screenshot of adding a record set to map the app domain name to the public IP address of the application gateway.

التحقق من صحة الاتصال

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

validate the name resolution from a command prompt.

  • عند الوصول إلى جهاز من الإنترنت، اختبر الوصول إلى الويب من مستعرض.

Screenshot of opening a browser, access to the web.