تصحيح نظام تشغيل "Azure App Service" ووقت التشغيل

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

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

لا يزال من المفيد لك كمستخدم لخدمة التطبيقات معرفة معلومات مثل:

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

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

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

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

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

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

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

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

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

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

إشعار

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

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

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

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

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

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

توضح الأمثلة التالية أوامر تكوين Azure CLI لأوقات تشغيل اللغات المدعومة المختلفة. يمكنك استبدال <appname> وأسماء <groupname> تطبيقك ومجموعة موارده.

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=~24 --resource-group <groupname> --name <appname>
az webapp config set --python-version 3.14 --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>

إشعار

يستخدم المثال Node.js صياغة تيلد الموصى بها لاستهداف أحدث إصدار متاح من وقت تشغيل Node.js 24 على خدمة تطبيقات ويندوز.

التحكم في توقيت تحديث تحديث وقت التشغيل باستخدام قناة إصدار المنصة

إشعار

ميزة قناة إصدار المنصة متاحة فقط لخدمة تطبيقات لينكس .

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

القنوات المتوفرة

اختر من بين ثلاث قنوات:

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

عند إصدار تحديث تشغيل جديد، يتدفق عبر القنوات بالترتيب: أحدثالمعيارExtended. هذا التدفق يعني تحديثا متاحا فورا على أحدث وصول Standard بعد مزيد من التحقق، ثم Extended بعد التحقق الإضافي فوق ذلك.

على سبيل المثال، بالنسبة ل .NET 10، قد تبدو نفس النقطة الزمنية كالتالي:

القناة إصدار ‎.NET
Latest 10.0.7
Standard 10.0.4
ممتد 10.0.2

تلميح

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

تكوين قناة إصدار المنصة

  1. في مدخل Microsoft Azure، انتقل إلى تطبيق App Service.
  2. في القائمة اليسرى، اختر إعدادات المكدس.
  3. تحت قناة إصدار المنصة، اختر القناة التي تريدها: الأحدث، القياسي، أو الممتد.
  4. اختر حفظ.

لمزيد من المعلومات حول هذه الميزة، راجع إعلان مدونة قناة إصدار المنصة.

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

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

يوضح الجدول التالي كيفية استخدام أوامر Kudu أو Cloud Shell للعثور على إصدارات Windows ووقت تشغيل اللغة التي تقوم بتشغيل تطبيقاتك. استبدل <appname> وأسماء <groupname> التطبيقات ومجموعات الموارد.

‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏المعلومات أين يمكن العثور عليها
إصدار Windows راجع https://<appname>.scm.azurewebsites.net/Env#sysinfo.
إصدار ‎.NET في https://<appname>.scm.azurewebsites.net/DebugConsole، قم بتشغيل الأمر التالي في موجه الأوامر:
Person.
إصدار الذاكرة الأساسية لـ .NET في https://<appname>.scm.azurewebsites.net/DebugConsole، تشغيل dotnet --version.
إصدار PHP في https://<appname>.scm.azurewebsites.net/DebugConsole، تشغيل php --version.
إصدار Node.js الافتراضي في Cloud Shell، قم بتشغيل الأمر التالي:
Person.
إصدار 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التسجيل، حيث يتم تخزين المعلومات الموجودة على نشرات الأمان .