مشاركة عبر


نشر تطبيقك في Azure App Service باستخدام FTP/S

توضح هذه المقالة كيفية استخدام بروتوكول نقل الملفات (FTP) أو بروتوكول نقل الملفات الآمن (FTPS) لنشر تطبيق الويب أو الواجهة الخلفية لتطبيق الأجهزة المحمولة أو تطبيق API إلى Azure App Service. لا يلزم تكوين لتمكين نشر تطبيق FTP أو FTPS. نقطة نهاية FTP/S لتطبيقك نشطة بالفعل.

إشعار

يجب تمكين كل من بيانات اعتماد نشر المصادقة الأساسية ل SCM وبيانات اعتماد نشر FTP Basic Auth لنشر FTP/S للعمل. عند تعطيل المصادقة الأساسية، لا يعمل نشر FTP/S، ولا يمكنك عرض بيانات اعتماد FTP/S أو تكوينها في مركز النشر للتطبيق.

الحصول على بيانات اعتماد التوزيع

للحصول على بيانات الاعتماد للتوزيع، اتبع الإرشادات الموجودة في تكوين بيانات اعتماد النشر ل Azure App Service. انسخ بيانات اعتماد نطاق التطبيق لتطبيقك، أو قم بتعيين بيانات اعتماد نطاق المستخدم ونسخها. يمكنك الاتصال بنقطة نهاية FTP/S لتطبيقك باستخدام أي من مجموعة بيانات الاعتماد.

بالنسبة إلى بيانات اعتماد نطاق التطبيق، يكون تنسيق اسم المستخدم FTP/S هو <app-name>\$<app-name>. بالنسبة إلى بيانات اعتماد نطاق المستخدم، يكون تنسيق اسم المستخدم FTP/S هو <app-name>\<username>. تتم مشاركة نقاط نهاية App Service FTP/S بين التطبيقات، ولأن بيانات اعتماد نطاق المستخدم غير مرتبطة بمورد معين، يجب إلحاق اسم المستخدم باسم التطبيق.

الحصول على نقطة نهاية FTP/S

للحصول على نقطة نهاية FTP/S:

في صفحة مدخل Microsoft Azure لتطبيقك، حدد Deployment Center ضمن Deployment في قائمة التنقل اليسرى. في علامة التبويب بيانات اعتماد FTPS ، انسخ عنوان URL لنقطة نهاية FTPS .

نشر الملفات إلى Azure

لنشر الملفات إلى Azure باستخدام FTP/S:

  1. من عميل FTP/S مثل Visual Studio أو Cyberduck أو WinSCP، استخدم معلومات الاتصال للاتصال بتطبيقك.
  2. انسخ ملفاتك وبنية الدليل الخاصة بها إلى الدليل /site/wwwroot في Azure أو الدليل /site/wwwroot/App_Data/Jobs/ ل WebJobs.
  3. استعرض للوصول إلى عنوان URL للتطبيق للتحقق من تشغيل التطبيق بشكل صحيح.

إشعار

على عكس نشر Git المحليونشر ZIP، لا يدعم نشر FTP/S أتمتة البناء مثل:

  • استعادة التبعيات مثل NuGet وNPM و PIP وأتمتة Composer.
  • تحويل ثنائيات .NET برمجيا.
  • إنشاء ملف web.config .

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

فرض FTPS

FTPS هو شكل أكثر أمانا من FTP يستخدم أمان طبقة النقل (TLS) وطبقة مآخذ التوصيل الآمنة (SSL). لتحسين الأمان، يجب عليك فرض FTPS عبر TLS/SSL. يمكنك أيضا تعطيل كل من FTP وFTPS إذا كنت لا تستخدم نشر FTP.

لتعطيل FTP غير المشفرة:

  1. في صفحة مدخل Microsoft Azure لتطبيقك، حدد Configuration ضمن Settings في قائمة التنقل اليسرى.

  2. في علامة التبويب الإعدادات العامة في صفحة التكوين ، ضمن إعدادات النظام الأساسي، حدد FTPS فقطلحالة FTP. أو لتعطيل كل من FTP وFTPS بالكامل، حدد معطل.

    لقطة شاشة تعرض تعيين حالة FTP إلى FTPS فقط.

  3. إذا حددت FTPS فقط، فتأكد من فرض TLS 1.2 أو أعلى لإعدادات TLS الواردة الدنيا. TLS 1.0 و1.1 غير مدعومين ل FTPS فقط.

  4. حدد حفظ في الجزء العلوي من الصفحة.

استكشاف أخطاء نشر FTP/S وإصلاحها

ماذا يحدث لتطبيقي أثناء النشر الذي يمكن أن يسبب فشلا أو سلوكا لا يمكن التنبؤ به؟

تقوم أساليب النشر المدعومة رسميا بإجراء تغييرات على الملفات الموجودة في المجلد /home/site/wwwroot المستخدمة لتشغيل تطبيقك. يمكن أن يفشل النشر بسبب الملفات المؤمنة. قد يتصرف التطبيق أيضا بشكل غير متوقع أثناء النشر إذا لم يتم تحديث جميع الملفات في نفس الوقت، وهو أمر غير مرغوب فيه لتطبيق يواجه العملاء.

هناك بعض الطرق لتجنب هذه المشاكل.

ما هي الخطوة الأولى في استكشاف أخطاء نشر FTP/S وإصلاحها؟

الخطوة الأولى لاستكشاف أخطاء توزيع FTP/S وإصلاحها هي التمييز بين مشكلات التوزيع ومشكلات تطبيق وقت التشغيل.

  • عادة ما تؤدي مشكلة التوزيع إلى عدم نشر ملفات أو ملفات خاطئة في تطبيقك. يمكنك استكشاف الأخطاء وإصلاحها عن طريق التحقق من توزيع FTP/S أو تحديد مسار توزيع بديل، مثل التحكم بالمصادر.

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

لمزيد من المعلومات، راجع مشكلات التوزيع مقابل وقت التشغيل.

لماذا لا يمكنني FTP/S ونشر التعليمات البرمجية الخاصة بي؟

تحقق من إدخال اسم المضيف الصحيح وبيانات الاعتماد. تأكد أيضا من أن جدار الحماية لا يمنع منافذ FTP/S التالية على جهازك:

  • منافذ اتصال التحكم FTP/S: 21، 990
  • منافذ اتصال بيانات FTP/S: 989، 10001-10300

كيف يمكنني الاتصال ب FTP/S في Azure App Service عبر الوضع السلبي؟

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

لماذا يفشل اتصالي عند محاولة الاتصال عبر FTPS باستخدام تشفير صريح؟

يسمح FTPS بإنشاء اتصال آمن ل TLS صريح أو ضمني.

  • إذا قمت بالاتصال بتشفير صريح، يتم تأسيس الاتصال عبر المنفذ 21.
  • إذا قمت بالاتصال بالتشفير الضمني، يتم تأسيس الاتصال عبر المنفذ 990.

يمكن أن يؤثر تنسيق عنوان URL الذي تستخدمه على نجاح الاتصال، ويعتمد على تطبيق العميل. يعرض المدخل عنوان URL ك ftps://، ولكن إذا كان عنوان URL الذي تتصل به يبدأ ب ftp://، تضمين الاتصال على المنفذ 21. إذا بدأ عنوان URL ب ftps://، يكون الاتصال ضمنيا ومضمنا ليكون على المنفذ 990.

تأكد من عدم خلط الإعدادات، مثل محاولة الاتصال ftps:// باستخدام المنفذ 21. يفشل هذا الإعداد في الاتصال حتى باستخدام التشفير الصريح، لأن الاتصال الصريح يبدأ كاتصال FTP عادي قبل AUTH الأسلوب.

كيف يمكنني تحديد الطريقة التي تم استخدامها لنشر تطبيقي؟

يمكنك معرفة كيفية نشر تطبيق عن طريق التحقق من إعدادات التطبيق على صفحة مدخل Azure الخاصة به. حدد المتغيرات البيئية ضمن الإعدادات في قائمة التنقل اليسرى. في علامة التبويب إعدادات التطبيق :

  • إذا تم نشر التطبيق باستخدام عنوان URL لحزمة خارجية، WEBSITE_RUN_FROM_PACKAGE يظهر الإعداد في إعدادات التطبيق بقيمة URL.
  • إذا تم نشر التطبيق باستخدام نشر ZIP، WEBSITE_RUN_FROM_PACKAGE يظهر الإعداد بقيمة 1.

إذا قمت بنشر التطبيق باستخدام Azure DevOps، يمكنك مشاهدة محفوظات النشر في مدخل Azure DevOps. إذا كنت تستخدم Azure Functions Core Tools، يمكنك مشاهدة محفوظات النشر في مدخل Microsoft Azure.