دمج بيئة خدمة تطبيق ILB مع بوابة تطبيق Azure

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

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

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

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

Screenshot of High level integration diagram

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

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

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

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

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

بيئة خدمة تطبيق ILB

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

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

    Screenshot of ILB ASE Overview

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

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

منطقة DNS خاصة

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

الاسم النوع القيمة
* A عنوان البورصة الوارد
@ A عنوان البورصة الوارد
@ SOA اسم DNS في بورصة عمان
*.scm A عنوان البورصة الوارد

خدمة التطبيق على ILB ASE

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

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

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

شهادة عامة سارية المفعول

لتحسين الأمان، يوصى بربط شهادة TLS/SSL لتشفير الجلسة. لربط شهادة TLS/SSL ببوابة التطبيق، يلزم تقديم شهادة عامة صالحة تحتوي على المعلومات التالية. باستخدام شهادات خدمة التطبيق، يمكنك شراء شهادة 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 ، وسيتم استيراده إلى بوابة التطبيق لاحقا.

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

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

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

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

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

    في القائمة المنسدلة الطبقة ، يمكنك تحديد 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 في نوع الهدف. في هذه الحالة ، قمنا بتعيين خدمات التطبيق وتحديد اسم خدمة التطبيق من القائمة المنسدلة المستهدفة.

    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 تعيين اسم مجال قابل للتوجيه لخدمة التطبيقات

      Screenshot of HTTP Listener of the application gateway Routing Rule.

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

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

      H T T P S 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، يتم إصدار شهادة هذا المجال من قبل سلطة جذر عامة موثوق بها. في إعداد الشهادة الجذر الموثوق بها، يمكنك التعيين لاستخدام شهادة الجذر الموثوق بها المعروفة في المرجع المصدق عليه.
      تجاوز مع اسم مضيف جديد نعم سيتم الكتابة فوق رأس اسم المضيف عند الاتصال بالتطبيق على ILB ASE
      تجاوز اسم مضيف اختيار اسم المضيف من هدف الواجهة الخلفية عند تعيين تجمع الواجهة الخلفية إلى App Service، يمكنك اختيار المضيف من هدف الواجهة الخلفية
      إنشاء تحقيقات مخصصة لا استخدام مسبار الحماية الافتراضي

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

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

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

  • لتكوين ارتباط الشبكة الظاهرية مع منطقة 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.