إنشاء تطبيق خدمات App

إشعار

بدءا من 1 يونيو 2024، سيكون لجميع تطبيقات App Service التي تم إنشاؤها حديثا خيار إنشاء اسم مضيف افتراضي فريد باستخدام اصطلاح <app-name>-<random-hash>.<region>.azurewebsites.netالتسمية . ستظل أسماء التطبيقات الحالية دون تغيير.

مثال: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

لمزيد من التفاصيل، راجع اسم المضيف الافتراضي الفريد لمورد App Service.

تشرح هذه المقالة كيفية تكوين الإعدادات العامة لتطبيقات الويب أو الواجهة الخلفية للهاتف المحمول أو تطبيق API. لمزيد من المعلومات، انظرمرجع إعدادات التطبيق لدالات Azure.

تكوين إعدادات التطبيق

إشعار

  • يمكن أن تحتوي أسماء إعدادات التطبيق فقط على أحرف وأرقام (0-9) ونقاط (".") وتسطير أسفل السطر ("_")
  • يجب إلغاء الأحرف الخاصة في قيمة إعداد التطبيق حسب الحاجة بواسطة نظام التشغيل الهدف

على سبيل المثال لتعيين متغير بيئة في App Service Linux بالقيمة التي "pa$$w0rd\" يجب أن تكون السلسلة لإعداد التطبيق: "pa\$\$w0rd\\"

في App Service، إعدادات التطبيق هي متغيرات تم تمريرها كمتغيرات البيئة إلى رمز التطبيق. بالنسبة لتطبيقات Linux والحاويات المخصصة، تمرر App Service إعدادات التطبيق إلى الحاوية باستخدام العلامة --env لتعيين متغير البيئة في الحاوية. في كلا الحالتين، يتم إدخالها في بيئة التطبيق عند بدء تشغيل التطبيق. عند إضافة إعدادات التطبيق أو إزالتها أو تحريرها، تقوم خدمة التطبيقات بتشغيل إعادة تشغيل التطبيق.

بالنسبة لمطوري ASP.NET وASP.NET Core، فإن إعداد إعدادات التطبيق في App Service يشبه إعدادها <appSettings> في Web.config أو appsettings.jsولكن القيم في App Service تتجاوز القيم الموجودة في Web.config أو appsettings.json. يمكن الاحتفاظ بإعدادات التطوير (على سبيل المثال، كلمة مرور MySQL المحلية) فيWeb.configأوappsettings.json، ولكن البيانات السرية الخاصة بالتشغيل (على سبيل المثال، كلمة المرور لقاعدة بيانات Azure MySQL) آمنة في App Service. يستخدم نفس التعليمة البرمجية إعدادات التطوير خاصتك عندما تصحح الأخطاء محلياً، وتستخدم بيانات التشغيل السرية الخاصة بك عند توزيعه في Azure.

حزم اللغات الأخرى، بالمثل، تحصل على إعدادات التطبيق كمتغيرات البيئة في وقت التشغيل. لمعرفة الخطوات الخاصة بمكدس اللغة، انظر:

تُشفَّر إعدادات التطبيق دائماً عند تخزينها (مشفرة في حالة الثبات).

إشعار

إذا قمت بتخزين الأسرار في إعدادات التطبيق، ففكر في استخدام مراجع Key Vault. إذا كانت بياناتك السرية للاتصال بالموارد الخلفية، ففكر في خيارات اتصال أكثر أمانا لا تتطلب أسرارا على الإطلاق. لمزيد من المعلومات، راجع الاتصال الآمن بخدمات وقواعد بيانات Azure من Azure App Service.

  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

    البحث عن App Services

  2. في القائمة اليسرى للتطبيق، حدد Environment variables>App settings.

    لقطة شاشة توضح كيفية الانتقال إلى صفحة إعدادات التطبيق.

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

  3. لإضافة إعداد تطبيق جديد، حدد إضافة. لتحرير إعداد، انقر فوق الإعداد.

  4. في مربع الحوار، يمكنكتثبيت الإعداد على الفتحة الحالية.

    إشعار

    في حاوية Linux الافتراضية أو المخصصة، يجب تكوين أي بنية مفتاح JSON متداخلة في اسم إعداد التطبيق مثلApplicationInsights:InstrumentationKeyبحاجة للتكوين في خدمات التطبيق على أنهاApplicationInsights__InstrumentationKeyلاسم المفتاح. وبعبارةٍ أخرى، ينبغي استبدال أي منها : بـ __ (شرطة سفلية مزدوجة). سيتم استبدال أي فترات في اسم إعداد التطبيق ب (شرطة سفلية _ واحدة).

  5. عند الانتهاء، حدد تطبيق. لا تنس تحديد تطبيق مرة أخرى في صفحة متغيرات البيئة.

تحرير إعدادات التطبيق بطريقة مجمّعة

حدد زر تحرير متقدم. قم بتحرير الإعدادات في منطقة النص. عند الانتهاء، حدد موافق. لا تنس تحديد تطبيق مرة أخرى في صفحة متغيرات البيئة.

تحتوي إعدادات التطبيق على تنسيق JSON التالي:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

تكوين سلاسل اتصال

إشعار

ضع في اعتبارك خيارات اتصال أكثر أمانا لا تتطلب أسرار اتصال على الإطلاق. لمزيد من المعلومات، راجع الاتصال الآمن بخدمات وقواعد بيانات Azure من Azure App Service.

بالنسبة لمطوري ASP.NET ASP.NET Core، يشبه تعيين سلاسل الاتصال في خدمة التطبيق تعيينها<connectionStrings>فيWeb.config، ولكن القيم التي قمت بتعيينها في خدمة التطبيق تتجاوز تلك الموجودة فيWeb.config. ويمكنك الاحتفاظ بإعدادات التطوير (على سبيل المثال، ملف قاعدة بيانات) في أسرارWeb.config والإنتاج (على سبيل المثال، بيانات اعتماد قاعدة بيانات SQL) بأمان في خدمة التطبيق. يستخدم نفس التعليمة البرمجية إعدادات التطوير خاصتك عندما تصحح الأخطاء محلياً، وتستخدم بيانات التشغيل السرية الخاصة بك عند توزيعه في Azure.

بالنسبة لتكديسات اللغات الأخرى، من الأفضل استخدامإعدادات التطبيقبدلا من ذلك، لأن سلاسل الاتصال تتطلب تنسيقا خاصا في مفاتيح المتغيرات للوصول إلى القيم.

إشعار

توجد حالة واحدة قد ترغب فيها في استخدام سلاسل الاتصال بدلا من إعدادات التطبيق للغات non-.NET: يتم إجراء نسخة احتياطية من أنواع معينة من قواعد بيانات Azure مع التطبيقفقطإذا قمت بتكوين سلسلة اتصال لقاعدة البيانات في تطبيق خدمة التطبيقات. لمزيد من المعلومات، انظرإنشاء نهج نسخ احتياطي. في حال لم تكن بحاجة إلى هذه النسخة الاحتياطية التلقائية، فاستخدم إعدادات التطبيق.

تتوفر سلاسل الاتصال في وقت التشغيل كمتغيرات بيئة مسبوقة بأنواع الاتصال التالية:

  • SQLServer: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • SQLAzure: SQLAZURECONNSTR_
  • Custom: CUSTOMCONNSTR_
  • PostgreSQL: POSTGRESQLCONNSTR_
  • مركز الإعلامات: NOTIFICATIONHUBCONNSTR_
  • ناقل خدمة Microsoft Azure: SERVICEBUSCONNSTR_
  • Event Hub: EVENTHUBCONNSTR_
  • قاعدة بيانات المستند: DOCDBCONNSTR_
  • ذاكرة التخزين المؤقت Redis: REDISCACHECONNSTR_

إشعار

يجب أن تقوم تطبيقات .NET التي تستهدف PostgreSQL ومركز الإعلامات ونقل خدمة Microsoft Azure ومركز الأحداث وقاعدة بيانات المستندات وذاكرة التخزين المؤقت Redis بتعيين سلسلة الاتصال إلى مخصص كحل بديل لقضية معروفة في .NET EnvironmentVariablesConfigurationProvider

على سبيل المثال، يمكن الوصول لسلسلة اتصال MySQL المسماة connectionstring1كمتغيرMYSQLCONNSTR_connectionString1البيئة. لمعرفة الخطوات الخاصة بمكدس اللغة، انظر:

تُشفَّر سلاسل الاتصال دائماً عند تخزينها (مشفرة في حالة الثبات).

إشعار

يمكن أيضاً حل إعدادات التطبيق منAzure Key Vaultباستخداممراجع Azure Key Vault.

  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

    البحث عن App Services

  2. في القائمة اليسرى للتطبيق، حدد Environment variables>Connection strings.

    لقطة شاشة تعرض واجهة المستخدم المفتوحة لسلاسل الاتصال.

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

  3. لإضافة سلسلة الاتصال جديد، حدد إضافة. لتحرير سلسلة الاتصال، حدد سلسلة الاتصال.

  4. في مربع الحوار، يمكنك تثبيتالإعداد على الفتحة الحالية.

  5. عند الانتهاء، حدد تطبيق. لا تنس تحديد تطبيق مرة أخرى في صفحة متغيرات البيئة.

تحرير سلاسل الاتصال بشكل مجمّع

حدد زر تحرير متقدم. تحرير سلاسل الاتصال في المنطقة المتعلقة بالنص. عند الانتهاء، حدد تطبيق. لا تنس تحديد تطبيق مرة أخرى في صفحة متغيرات البيئة.

سلاسل الاتصال لها تنسيق JSON التالي:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

تكوين إعدادات حزمة اللغة

تكوين الإعدادات العامة

فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك. في القائمة اليسرى للتطبيق، قم بتحديدConfiguration>إعدادات عامة.

الإعدادات العامة

يمكنك هنا تكوين بعض الإعدادات الشائعة للتطبيق. تتطلب بعض الإعداداتالوصول إلى مستويات تسعير أعلى.

  • إعدادات المكدس: مكدس البرامج لتشغيل التطبيق، بما في ذلك إصدارات اللغة وSDK.

    بالنسبة لتطبيقات Linux، يمكنك تحديد إصدار وقت تشغيل اللغة وتعيينأمر بدء التشغيلاختياري أو ملف أمر بدء تشغيل.

    الإعدادات العامة لحاويات Linux

  • إعدادات النظام الأساسي: يتيح لك تكوين إعدادات نظام الاستضافة الأساسي، بما في ذلك:

    • بت النظام الأساسي: 32 بت أو 64 بت. مخصص لتطبيقات Windows فقط.
    • حالة FTP: السماح بـ FTPS فقط أو تعطيل FTP تماماً.
    • إصدار HTTP: التعيين إلى 2.0من أجل تمكين دعم بروتوكولHTTPS/2.

    إشعار

    تدعم معظم المتصفحات الحديثة بروتوكول HTTP/ 2 عبر TLS فقط، بينما تستمر حركة المرور غير المشفرة في استخدام HTTP/ 1.1. لضمان اتصال متصفحات العميل بالتطبيق الخاص بك باستخدام HTTP / 2، قم بتأمين اسم DNS المخصص الخاص بك. لإضافة ربط TLS، انظرتأمين اسم DNS مخصص من خلال ربط TLS/SSL في خدمة تطبيق Azure.

    • مآخذ ويب: بالنسبة إلى ASP.NET SignalR أو socket.io، على سبيل المثال.

    • دائما على: يبقي التطبيق التحميل حتى عندما لا يكون هناك نسبة استخدام الشبكة. عند عدم تشغيل Always On (افتراضي)، يتم إلغاء تحميل التطبيق بعد 20 دقيقة دون أي طلبات واردة. يمكن أن يتسبب التطبيق الذي تم إلغاء تحميله في وقت استجابة مرتفع للطلبات الجديدة نظرًا لوقت الإحماء. عند تقوم بتشغيلAlways On، يرسل موازن التحميل الأمامي طلب GET إلى جذر التطبيق كل خمس دقائق. من المهم التأكد من أن هذا الطلب يتلقى استجابة 200 OK لضمان تنفيذ أي عمليات إعادة تصوير بشكل صحيح. يمنع الأمر ping المستمر إلغاء تحميل التطبيق.

      مطلوب تشغيل دومًا لـ WebJobs المستمرة أو WebJobs التي يتم تشغيلها باستخدام تعبير CRON.

    • ترابط الجلسة: في توزيع متعدد المثيلات، تأكد من توجيه العميل إلى نفس المثيل طوال مدة جلسة العمل. يمكنك تعيين هذا الخيار إلى Off للتطبيقات عديمة الجنسية.

    • وكيل ترابط الجلسة: يمكن تشغيل وكيل ترابط الجلسة إذا كان تطبيقك خلف وكيل عكسي (مثل Azure Application Gateway أو Azure Front Door) وكنت تستخدم اسم المضيف الافتراضي. سيتوافق مجال ملف تعريف ارتباط ترابط الجلسة مع اسم المضيف الذي تمت إعادة توجيهه من الوكيل العكسي.

    • HTTPS فقط: عند التمكين، تتم إعادة توجيه جميع حركة مرور HTTP إلى HTTPS.

    • الحد الأدنى لإصدار TLS: حدد الحد الأدنى لإصدار تشفير TLS الذي يتطلبه تطبيقك.

  • تصحيح الأخطاء:تمكين التصحيح عن بعد للتطبيقاتASP.NETأو ASP.NET CoreأوNode.js. يتم إيقاف تشغيل هذا الخيار تلقائياً بعد 48 ساعة.

  • شهادات العميل الواردة: تتطلب الشهادات المتعلقة بالعميل فيالمصادقة المتبادلة.

قم بتكوين المستندات الافتراضية

هذا الإعداد مخصص فقط لتطبيقات Windows.

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

  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

  2. في القائمة اليسرى للتطبيق، حدد Configuration>المستندات الافتراضية.

    المستندات الافتراضية

  3. لإضافة مستند افتراضي، حدد مستند جديد. لإزالة مستند افتراضي، حدد حذف إلى يمينه.

قم بتعيين مسار URL إلى دليل

بشكل افتراضي، تبدأ خدمة التطبيقات تطبيقك من الدليل الجذر لرمز التطبيق الخاص بك. ولكن بعض أطر عمل الويب لا تبدأ في الدليل الجذر. على سبيل المثال، يبدأ Laravel في الدليل الفرعي public. لمتابعةhttp://contoso.com/publicمثال DNS في إمكانية الوصول إلى مثل هذا التطبيق في، ولكنك عادةً ما ترغب في توجيهhttp://contoso.comإلىpublicالدليل بدلاً من ذلك. إذا كان ملف بدء تشغيل التطبيق الخاص بك موجودًا في مجلد مختلف، أو إذا كان المستودع الخاص بك يحتوي على أكثر من تطبيق واحد، فيمكنك تحرير أو إضافة تطبيقات وأدلة افتراضية.

هام

يتوفر الدليل الظاهري لميزة المسار الفعلي فقط على تطبيقات Windows.

  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

  2. في القائمة اليسرى للتطبيق، حدد Configuration>مخططات المسار

  3. حدد New virtual application or directory.

    • لتعيين دليل ظاهري إلى مسار فعلي، اتركخانة الاختيار الدليل محددة. حدد الدليل الظاهري والمسار النسبي (فعلي) المقابل لجذر موقع الويب (D:\home).
    • لوضع علامة على دليل ظاهري باعتباره تطبيق ويب، بادر بإلغاء تحديد خانة الاختيار Directory.

    خانة اختيار دليل

  4. حدد موافق. لا تنس تحديد حفظ في صفحة التكوين .

تكوين التعيينات للمعالج

بالنسبة لتطبيقات Windows، يمكنك تخصيص تعيينات معالج IIS والتطبيقات والدلائل الظاهرية. تتيح لك تعيينات المعالج إضافة معالجات برامج نصية مخصصة للتعامل مع الطلبات الخاصة بملحقات ملفات معينة.

لإضافة معالج مخصص:

  1. فيمدخل Microsoft Azure، ابحث عن ⁧App Services⁧⁩وحدد تطبيقك.

  2. في قائمة التطبيق اليسرى، حددConfiguration>مخططات المسار.

    تعيينات المسار

  3. حدد New handler mapping. تكوين المعالج كما يلي:

    • ملحق اسم الملف. ملحق اسم الملف: ملحق الملف الذي تريد معالجته، مثل *.php أو handler.fcgi.
    • المعالج المتعلق بالبرنامج النصي. المسار المطلق لمعالج البرنامج النصي لك. تتم معالجة الطلبات إلى الملفات التي تتطابق مع ملحق الملف بواسطة معالج البرنامج النصي. استخدم المسار D:\home\site\wwwroot للإشارة إلى الدليل الجذر لتطبيقك.
    • وسيطات. وسيطات سطر أوامر اختيارية لمعالج البرنامج النصي.
  4. حدد موافق. لا تنس تحديد حفظ في صفحة التكوين .

تكوين حاويات مُخصصة

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