نظام التشغيل والتحديث الجزئي لوقت التشغيل في Azure App Service

توضح لك هذه المقالة كيفية الحصول على معلومات إصدار معينة فيما يتعلق بنظام التشغيل أو البرنامج في App Service.

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

  • كيف ومتى يتم تطبيق تحديثات نظام التشغيل؟
  • كيف يتم تحديث App Service بشكل جزئي ضد الثغرات الأمنية الهامة (مثل صفر يوم)؟
  • ما هي إصدارات نظام التشغيل ووقت التشغيل التي تعمل على تشغيل تطبيقاتك؟

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

كيف ومتى يتم تطبيق تحديثات نظام التشغيل؟

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

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

كيف تتعامل Azure مع الثغرات الأمنية الهامة؟

عندما تتطلب الثغرات الأمنية الشديدة تحديثاً جزئياً فورياً، مثل الثغرات الأمنية في صفر يوم، يتم التعامل مع التحديثات ذات الأولوية العالية على أساس كل حالة على حدة.

ابق على اطلاع بإعلانات الأمان الهامة في Azure من خلال زيارة مدونة أمان Azure.

متى يتم تحديث أوقات تشغيل اللغة المدعومة أو إضافتها أو إهمالها؟

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

إشعار

تنطبق المعلومات هنا على أوقات تشغيل اللغة المضمنة في تطبيق App Service. على سبيل المثال، يظل وقت التشغيل المخصص الذي تقوم بتحميله إلى App Service دون تغيير ما لم تقم بترقيته يدوياً.

تحديثات التحديث الجزئي الجديدة

يتم تطبيق تحديثات التحديث الجزئي إلى .NET أو PHP أو Java SDK أو إصدار Tomcat تلقائياً عن طريق الكتابة فوق التثبيت الحالي باستخدام أحدث إصدار. يتم تثبيت تحديثات التحديث الجزئي Node.js جنباً إلى جنب مع الإصدارات الموجودة (مشابهة للإصدارات الرئيسية والثانوية في القسم التالي). يمكن تثبيت إصدارات التحديث الجزئي لـ Python الجديدة يدوياً من خلال ملحقات الموقع، جنباً إلى جنب مع تثبيتات Python المضمنة.

إصدارات رئيسية وثانوية جديدة

عند إضافة إصدار رئيسي أو ثانوي جديد، يتم تثبيته جنباً إلى جنب مع الإصدارات الموجودة. يمكنك ترقية التطبيق يدوياً إلى الإصدار الجديد. إذا قمت بتكوين إصدار وقت التشغيل في ملف تكوين (مثل web.config وpackage.json)، فستحتاج إلى الترقية بنفس الأسلوب. إذا استخدمت إعداد App Service لتكوين إصدار وقت التشغيل الخاص بك، يمكنك تغييره في مدخل Azure أو عن طريق تشغيل أمر Azure CLI في Cloud Shell، كما هو موضح في الأمثلة التالية:

az webapp config set --net-framework-version v4.7 --resource-group <groupname> --name <appname>
az webapp config set --php-version 7.0 --resource-group <groupname> --name <appname>
az webapp config appsettings set --settings WEBSITE_NODE_DEFAULT_VERSION=~14 --resource-group <groupname> --name <appname>
az webapp config set --python-version 3.8 --resource-group <groupname> --name <appname>
az webapp config set --java-version 1.8 --java-container Tomcat --java-container-version 9.0 --resource-group <groupname> --name <appname>

إشعار

يستخدم هذا المثال «tilde syntax» الموصى به لاستهداف أحدث إصدار متوفر من وقت تشغيل Node.js 16 على Windows App Service.

كيف يمكنني الاستعلام عن حالة تحديث نظام التشغيل ووقت التشغيل على مثيلاتي؟

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

يوضح الجدول التالي كيفية إصدارات Windows ووقت تشغيل اللغة التي تقوم بتشغيل التطبيقات الخاصة بك:

‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏المعلومات أين يمكن العثور عليها
إصدار Windows راجع https://<appname>.scm.azurewebsites.net/Env.cshtml (ضمن معلومات النظام)
إصدار ‎.NET في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
إصدار الذاكرة الأساسية لـ .NET في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
dotnet --version
إصدار PHP في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
php --version
إصدار Node.js الافتراضي في Cloud Shell، قم بتشغيل الأمر التالي:
az webapp config appsettings list --resource-group <groupname> --name <appname> --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION']"
إصدار Python في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
python --version
إصدار Java في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
java -version

إشعار

يتم تأمين الوصول إلى موقع التسجيل HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages، حيث يتم تخزين المعلومات حول عمليات التحديث الجزئية لقاعدة المعارف.

موارد إضافية

مركز الثقة: الأمان
64 بت ASP.NET Core على Azure App Service