共用方式為


Azure App Service 作業系統和執行階段修補

本文說明 Azure App Service 如何更新作業系統 (OS) 和執行階段軟體、如何取得版本資訊,以及如何手動升級至新版本。

App Service 是平台即服務 (PaaS),因此 Azure 會為您管理作業系統和應用程式堆疊。 您只管理應用程式及其資料。 如果您需要進一步控制作業系統和應用程式堆疊,您可以使用 Azure 虛擬機器

對於身為 App Service 使用者的您,了解下列資訊仍然很有幫助:

本文提供透明的程序,協助您隨時掌握安全性相關公告及執行階段更新的最新資訊。 基於安全性理由,我們不會發佈某些特定的安全性資訊。

OS 更新的套用方式和時機?

Azure 會管理實體伺服器和執行 App Service 資源的客體虛擬機器 (VM) 兩者的作業系統修補。 這兩個機器層級每月更新一次,與每月的週二修補程式日排程保持一致。

系統會自動套用這些更新,同時保證 Azure 服務的高可用性服務等級協定 (SLA)。 Azure App Service 作業系統的修補遵循安全部署實務 (SDP) 和可用性優先方法。 系統會盡快套用最新的修補程式,但為避免影響和中斷應用程式,作業系統修補有時可能會變慢或暫停。

如需更新套用方式的詳細資訊,請參閱揭露 App Service OS 更新背後的魔法

Azure 如何處理重大漏洞?

高優先順序的問題 (例如零時差弱點) 需要立即修補,更新則依個案逐一處理。 若要隨時掌握重要的 Azure 安全性公告,請參閱 Azure 安全性部落格

何時會更新、新增或取代所支援的語言執行階段?

已支援的語言執行階段若有新的穩定版本 (主要、次要或修補),將會定期新增至 App Service 執行個體。 有些更新會覆寫現有安裝,有些則會與現有版本並存安裝。

覆寫安裝的意思是,您的應用程式會自動在更新的執行階段上執行。 並存安裝的意思則是,您必須手動移轉應用程式,以便利用新的執行階段版本。 如需詳細資訊,請參閱下列幾節。

附註

這些資訊適用於 App Service 應用程式內建的語言執行階段。 例如,您上傳至 App Service 的自訂執行階段會維持不變,除非您手動升級。

新的修補程式更新

.NET、PHP、Java SDK 或 Tomcat 版本的修補程式更新,會透過以最新版本覆寫現有安裝的方式自動套用。 Node.js 修補程式更新會與現有版本並存安裝,類似主要和次要版本。 新的 Python 修補程式版本可手動透過網站延伸模組與內建的 Python 安裝並存安裝。

新的主要和次要版本

新的主要或次要版本會與現有版本並存安裝。 您可以手動將應用程式升級至新的版本。

如果您在設定檔 (例如 web.configpackage.json) 中設定執行階段版本,則您必須使用相同的方法進行更新。 如果您使用 App Service 設定來設定執行階段版本,您可以在 Azure 入口網站中或藉由在 Azure Cloud Shell 中執行 Azure CLI 命令來加以變更。

下列範例顯示的 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 範例使用建議的「波狀符號語法」,以 Windows App Service 上可用的最新版 Node.js 24 執行階段為目標。

如何在執行個體上查詢 OS 和執行階段更新狀態?

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,在命令提示字元下執行下列命令:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full".
.NET Core 版本 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 (安全性佈告欄資訊的儲存位置) 會鎖定,無法存取。