分享方式:


Azure App Service 中的環境變數和應用程式設定

注意

從 2024 年 6 月 1 日起,所有新建立的 App Service 應用程式都可以選擇使用命名慣例 <app-name>-<random-hash>.<region>.azurewebsites.net 來產生唯一的預設主機名稱。 現有的應用程式名稱將保持不變。

範例: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

如需詳細資料,請參閱 App Service 資源的唯一預設主機名稱

Azure App Service 中,部署或執行階段環境內可使用某些設定做為環境變數。 當您手動將其設定為應用程式設定時,可以自訂其中一些設定。 此參考會顯示您可以使用或自訂的變數。

應用程式環境

下列環境變數通常與應用程式環境相關。

設定名稱 描述 範例
WEBSITE_SITE_NAME 唯讀。 應用程式名稱。
WEBSITE_RESOURCE_GROUP 唯讀。 包含應用程式資源的 Azure 資源群組名。
WEBSITE_OWNER_NAME 唯讀。 包含擁有應用程式、資源群組和網路空間的 Azure 訂閱識別碼。
REGION_NAME 唯讀。 應用程式的區域名稱。
WEBSITE_PLATFORM_VERSION 唯讀。 App Service 平台版本。
HOME 唯讀。 主目錄的路徑 (例如,適用於 Windows 的 D:\home)。
SERVER_PORT 唯讀。 應用程式應該接聽的連接埠。
WEBSITE_WARMUP_PATH ping 的相對路徑,開頭為斜線,用來準備應用程式。 預設值為 /,其會 ping 根路徑。 即使 App Service 驗證設定為拒絕未經驗證的用戶端,未經驗證的用戶端仍會 ping 到特定路徑,例如 Azure 流量管理員。 (注意:此應用程式設定不會變更 AlwaysOn 使用的路徑。)
WEBSITE_COMPUTE_MODE 唯讀。 指定應用程式是否要在專用 (Dedicated) 或共用的 (Shared) VM/秒上執行。
WEBSITE_SKU 唯讀。 應用程式的 SKU。 可能的值為 FreeSharedBasicStandard
SITE_BITNESS 唯讀。 顯示應用程式是 32 位元 (x86) 或 64 位元 (AMD64)。
WEBSITE_HOSTNAME 唯讀。 應用程式的主要主機名稱。 在此不考量自訂主機名稱。
WEBSITE_VOLUME_TYPE 唯讀。 顯示目前使用的儲存體磁碟區類型。
WEBSITE_NPM_DEFAULT_VERSION 應用程式使用的預設 npm 版本。
WEBSOCKET_CONCURRENT_REQUEST_LIMIT 唯讀。 Websocket 並行要求的限制。 針對標準層和更高層級,此值為 -1,但仍會根據您的 VM 大小限制 (請參閱跨 VM 數值限制)。
WEBSITE_PRIVATE_EXTENSIONS 設定為 0 以停用私人網站延伸模組。
WEBSITE_TIME_ZONE 根據預設,應用程式的時區一律為 UTC。 您可以將其變更為預設時區中列出的任何有效值。 如果無法辨識指定的值,則會使用 UTC。 Atlantic Standard Time
WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG 位置交換之後,應用程式可能會發生非預期的重新啟動。 這是因為進行交換之後,主機名稱繫結設定停止同步,但這個其況本身並不會造成重新啟動。 不過某些基本儲存體事件 (例如儲存體磁碟區容錯移轉) 可能會偵測到這些差異,而強制所有背景工作程序重新啟動。 若要盡可能減少這類重新啟動情形發生,請在所有位置上將應用程式設定值設定為 1 (預設為 0)。 但是,如果您正在執行 Windows Communication Foundation (WCF) 應用程式,請勿設定此值。 如需詳細資訊,請參閱針對交換進行疑難排解
WEBSITE_PROACTIVE_AUTOHEAL_ENABLED 根據預設,當 VM 執行個體使用超過 90% 的已配置記憶體超過 30 秒,或過去兩分鐘內 80% 的要求總數需要超過 200 秒時,就會主動「自動修復」。 如果 VM 執行個體已觸發其中一個規則,復原程序就是執行個體的重疊重新開機。 設定為 false 以停用此復原行為。 預設值為 true。 如需詳細資訊,請參閱主動式自動修復 (英文)。
WEBSITE_PROACTIVE_CRASHMONITORING_ENABLED 每當應用程式 VM 執行個體上的 w3wp.exe 程序因為 24 小時內未處理的例外狀況而損毀時,偵錯工具程序會連結至該執行個體上的背景工作處理序,並在背景工作處理序再次損毀時,收集記憶體傾印。 接著會分析此記憶體傾印,並在 App Service 記錄中記錄造成損毀之執行緒的呼叫堆疊。 設定為 false,以停用此自動監視行為。 預設值為 true。 如需詳細資訊,請參閱主動式損毀監視 (英文)。
WEBSITE_DAAS_STORAGE_SASURI 在損毀監視期間 (主動或手動),預設會刪除記憶體傾印。 若要將記憶體傾印儲存至儲存體 Blob 容器,請指定 SAS URI。
WEBSITE_CRASHMONITORING_ENABLED 設定為 true 以手動啟用損毀監視。 您也必須設定 WEBSITE_DAAS_STORAGE_SASURIWEBSITE_CRASHMONITORING_SETTINGS。 預設值為 false。 如果已啟用遠端偵錯,此設定就沒有任何影響。 此外,如果將此設調整為 true,則會停用主動式損毀監視
WEBSITE_CRASHMONITORING_SETTINGS JSON 的格式如下:{"StartTimeUtc": "2020-02-10T08:21","MaxHours": "<elapsed-hours-from-StartTimeUtc>","MaxDumpCount": "<max-number-of-crash-dumps>"}。 如果已指定 WEBSITE_CRASHMONITORING_ENABLED,則需要設定損毀監視。 若要只記錄呼叫堆疊,而不儲存儲存體帳戶中的損毀傾印,請在 JSON 中加入 ,"UseStorageAccount":"false"
REMOTEDEBUGGINGVERSION 遠端偵錯版本。
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 根據預設,App Service 會在應用程式建立時建立共用儲存體。 若要改用自訂儲存體帳戶,請設定為儲存體帳戶的連接字串。 若要了解函式,請參閱 Functions 的應用程式設定參考 DefaultEndpointsProtocol=https;AccountName=<name>;AccountKey=<key>
WEBSITE_CONTENTSHARE 當您將特定自訂儲存體帳戶與 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 搭配使用時,App Service 會在應用程式的該儲存體帳戶中建立檔案共用。 若要使用自訂名稱,請將此變數設定為您想要的名稱。 如果具有指定名稱的檔案共用不存在,App Service 會自動加以建立。 myapp123
WEBSITE_SCM_ALWAYS_ON_ENABLED 唯讀。 顯示 Always On 是否為已啟用 (1) 或未啟用 (0)。
WEBSITE_SCM_SEPARATE_STATUS 唯讀。 顯示 Kudu 應用程式是在個別的處理程序 (1) 中執行,或不在個別的處理程序 (0) 中執行。
WEBSITE_DNS_ATTEMPTS 嘗試名稱解析的次數。
WEBSITE_DNS_TIMEOUT 等候名稱解析的秒數

變數前置詞

下表顯示 App Service 用於各種用途的環境變數前置詞。

設定名稱 描述
APPSETTING_ 表示客戶在應用程式設定中將變數設定為應用程式設定。 它會以應用程式設定的形式插入 .NET 應用程式。
MAINSITE_ 表示變數專用於應用程式本身。
SCMSITE_ 表示變數專用於 Kudu 應用程式。
SQLCONNSTR_ 表示應用程式設定中的 SQL Server 連接字串。 它會以連接字串的形式插入 .NET 應用程式。
SQLAZURECONNSTR_ 表示應用程式設定中的 Azure SQL Database 連接字串。 它會以連接字串的形式插入 .NET 應用程式。
POSTGRESQLCONNSTR_ 表示應用程式設定中的 PostgreSQL 連接字串。 它會以連接字串的形式插入 .NET 應用程式。
CUSTOMCONNSTR_ 表示應用程式設定中的自訂連接字串。 它會以連接字串的形式插入 .NET 應用程式。
MYSQLCONNSTR_ 表示應用程式設定中的 MySQL Database 連接字串。 它會以連接字串的形式插入 .NET 應用程式。
AZUREFILESSTORAGE_ Azure 檔案儲存體中自訂容器之自訂共用的連接字串。
AZUREBLOBSTORAGE_ Azure Blob 儲存體中,自訂容器自訂儲存體帳戶的連接字串。
NOTIFICATIONHUBCONNSTR_ 將連接字串表示為 Azure 通知中樞的通知中樞。
SERVICEBUSCONNSTR_ 將連接字串表示為 Azure 服務匯流排的執行個體。
EVENTHUBCONNSTR_ 將連接字串表示為 Azure 事件中樞的事件中樞。
DOCDBCONNSTR_ 將連接字串表示為 Azure Cosmos DB 的資料庫。
REDISCACHECONNSTR_ 將連接字串表示為 Azure Cache for Redis 的快取。
FILESHARESTORAGE_ 將連接字串表示為自訂檔案共用。

部署

下列環境變數與應用程式部署相關。 如需與 App Service 組建自動化相關的變數,請參閱建置自動化

設定名稱 描述
DEPLOYMENT_BRANCH 針對本機 Git雲端 Git 部署 (例如 GitHub),請設定為您想要部署的 Azure 分支。 預設為master
WEBSITE_RUN_FROM_PACKAGE 設定為 1,以從本機 ZIP 套件中執行應用程式,或設定為外部 URL 中的 URL,以從遠端 ZIP 套件執行應用程式。 如需詳細資訊,請參閱直接從 ZIP 套件在 Azure App Service 中執行您的應用程式
WEBSITE_USE_ZIP 已取代。 使用 WEBSITE_RUN_FROM_PACKAGE
WEBSITE_RUN_FROM_ZIP 已取代。 使用 WEBSITE_RUN_FROM_PACKAGE
SCM_MAX_ZIP_PACKAGE_COUNT 應用程式會保留 5 個使用 zip deploy 部署的最新 ZIP 檔案。 您可以將此應用程式設定設為不同的數字,以增加或減少保留的數量。
WEBSITE_WEBDEPLOY_USE_SCM 設定為 false,讓 WebDeploy 停止使用 Kudu 部署引擎。 預設值為 true。 若要使用 Visual Studio (WebDeploy/MSDeploy) 的 Linux 應用程式,請將其設定為 false
MSDEPLOY_RENAME_LOCKED_FILES 設定為 1 以嘗試在 WebDeploy 部署期間無法複製 DLL 時,重新命名 DLL。 如果 WEBSITE_WEBDEPLOY_USE_SCM 設定為 false,則不適用此設定。
WEBSITE_DISABLE_SCM_SEPARATION 根據預設,主要應用程式和 Kudu 應用程式會在不同的沙箱中執行。 當您停止應用程式時,Kudu 應用程式仍在執行中,您可以繼續使用 Git 部署和 MSDeploy。 每個應用程式都有自己的本機檔案。 關閉此分隔 (設定為 true) 是不再完全支援的舊版模式。
WEBSITE_ENABLE_SYNC_UPDATE_SITE 設定為 1,確保要更新 site 的 REST API 呼叫,並在傳回之前,將 siteconfig 完全套用至所有執行個體。 如果使用 ARM 範本進行部署,預設值為 1,以避免使用後續 ARM 呼叫的競爭條件。
WEBSITE_START_SCM_ON_SITE_CREATION 在 ARM 範本部署中,在 ARM 範本中設定為 1,以在應用程式建立過程中預先啟動 Kudu 應用程式。
WEBSITE_START_SCM_WITH_PRELOAD 對於 Linux 應用程式,設定為 true,以在藉由 ping 其 URL 來啟用 Always On 時,強制預先載入 Kudu 應用程式。 預設值為 false。 對於 Windows 應用程式,Kudu 應用程式一律會預先載入。

建置自動化

Kudu 組建設定適用於原生 Windows 應用程式,並用來控制以 Git 為基礎 (或以 ZIP 為基礎) 的部署行為。

設定名稱 描述 範例
SCM_BUILD_ARGS 在 msbuild 命令列結尾新增內容,使其覆寫預設命令列的任何先前部分。 若要執行清除組建:-t:Clean;Compile
SCM_SCRIPT_GENERATOR_ARGS Kudu 使用azure site deploymentscript這裡所述的命令來產生部署指令碼。 它會自動偵測語言架構類型,並決定要傳遞至命令的參數。 此設定會覆寫自動產生的參數。 若要將存放庫視為一般內容檔案:--basic -p <folder-to-deploy>
SCM_TRACE_LEVEL 建置追蹤層級。 預設值為 1。 設定為較高的值,最多為 4,以取得更多追蹤。 4
SCM_COMMAND_IDLE_TIMEOUT 建置過程啟動的每個命令,在不產生任何輸出之前的等待的逾時時間,以秒為單位。 之後,命令會視為閒置並終止。 預設值為 60 (一分鐘)。 在 Azure 中,也有一般閒置要求逾時,並會在 230 秒後中斷用戶端連線。 不過,命令仍會在之後繼續執行伺服器端。
SCM_LOGSTREAM_TIMEOUT 停止記錄串流之前無活動的逾時時間,以秒為單位。 預設值為 1800 (30 分鐘)。
SCM_SITEEXTENSIONS_FEED_URL 網站延伸模組資源庫的 URL。 預設值為 https://www.nuget.org/api/v2/。 舊摘要的 URL 為 http://www.siteextensions.net/api/v2/
SCM_USE_LIBGIT2SHARP_REPOSITORY 設定為 0,以使用 git.exe,而不是 git 作業的 libgit2sharp。
WEBSITE_LOAD_USER_PROFILE 如果 ASP.NET 建置自動化期間發生錯誤 The specified user does not have a valid profile.(例如 Git 部署期間),請將此變數設定為 1,以在建置環境中載入完整的使用者設定檔。 只有在 WEBSITE_COMPUTE_MODEDedicated 時,此設定才適用。
WEBSITE_SCM_IDLE_TIMEOUT_IN_MINUTES SCM (Kudu) 網站的逾時分鐘數。 預設值為 20
SCM_DO_BUILD_DURING_DEPLOYMENT 使用 ZIP 部署,部署引擎會假設 ZIP 檔案已準備好依現狀執行,而且不會執行任何組建自動化。 若要啟用與 Git 部署相同的組建自動化,請設定為 true

資源專用設定

本節示範每個支援語言架構的可設定執行階段設定。 在部署期間,建置自動化期間會提供其他額外設定。

設定名稱 描述
PORT 唯讀。 對於 Linux 應用程式,為容器中 .NET 執行階段接聽的連接埠。
WEBSITE_ROLE_INSTANCE_ID 唯讀。 目前執行個體的識別碼。
HOME 唯讀。 指向共用儲存體的目錄 (/home)。
DUMP_DIR 唯讀。 損毀傾印的目錄 (/home/logs/dumps)。
APP_SVC_RUN_FROM_COPY 僅限 Linux 應用程式。 根據預設,應用程式會從 /home/site/wwwroot 執行,這是所有擴增執行個體的共用目錄。 將此變數設定為 true,以將應用程式複製到容器中的本機目錄,然後從該處執行。 使用此選項時,請務必不要對 /home/site/wwwroot 的任何參考進行硬式編碼。 請改用相對於 /home/site/wwwroot 的路徑。
MACHINEKEY_Decryption 對於 Windows 原生應用程式或 Windows 容器化應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯常式 (請參閱 machineKey 元素。 若要覆寫預設的 decryption 值,請將其設定為 App Service 應用程式設定,或直接在 Web.config 檔案的 machineKey 元素中設定。
MACHINEKEY_DecryptionKey 對於 Windows 原生應用程式或 Windows 容器化應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯常式 (請參閱 machineKey 元素。 若要覆寫自動產生的 decryptionKey 值,請將其設定為 App Service 應用程式設定,或直接在 Web.config 檔案的 machineKey 元素中設定。
MACHINEKEY_Validation 對於 Windows 原生應用程式或 Windows 容器化應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯常式 (請參閱 machineKey 元素。 若要覆寫預設的 validation 值,請將其設定為 App Service 應用程式設定,或直接在 Web.config 檔案的 machineKey 元素中設定。
MACHINEKEY_ValidationKey 對於 Windows 原生應用程式或 Windows 容器化應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯常式 (請參閱 machineKey 元素。 若要覆寫自動產生的 validationKey 值,請將其設定為 App Service 應用程式設定,或直接在 Web.config 檔案的 machineKey 元素中設定。

WordPress

應用程式設定 範圍 最大值 描述
WEBSITES_ENABLE_APP_SERVICE_STORAGE Web App true - 當設定為 TRUE 時,檔案內容會在重新啟動期間保留。
WP_MEMORY_LIMIT WordPress 128M 512M 前端或一般 Wordpress PHP 記憶體限制 (每個指令碼)。 不可超過 PHP_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT WordPress 256M 512M 管理員儀表板 PHP 記憶體限制 (每個指令碼)。 一般而言,相較於前端指令碼,管理員儀表板/後端指令碼需要大量記憶體。 不可超過 PHP_MEMORY_LIMIT。
PHP_MEMORY_LIMIT PHP 512M 512M 一般 PHP 指令碼的記憶體限制。 此值只能減少。
FILE_UPLOADS PHP 另一 - 值可以是 On 或 Off。 請注意,這些值區分大小寫。 啟用或停用檔案上傳。
UPLOAD_MAX_FILESIZE PHP 50M 256M 檔案上傳大小上限。 最多可以增加到 256M。
POST_MAX_SIZE PHP 128M 256M 最多可以增加到 256M。 通常應該超過 UPLOAD_MAX_FILESIZE。
MAX_EXECUTION_TIME PHP 120 120 只能減少。 如果指令碼耗時超過 120 秒,請細分指令碼。 新增以避免不良指令碼讓系統速度變慢。
MAX_INPUT_TIME PHP 120 120 剖析輸入要求的時間上限。 只能減少。
MAX_INPUT_VARS PHP 10000 10000 -
DATABASE_HOST Database - - 用來連線到 WordPress 的資料庫主機。
DATABASE_NAME Database - - 用來連接到 WordPress 的資料庫名稱。
DATABASE_USERNAME Database - - 用來連線到 WordPress 的資料庫使用者名稱。
DATABASE_PASSWORD Database - - 用於連線至 MySQL 資料庫的資料庫密碼。 若要變更 MySQL 資料庫密碼,請參閱更新系統管理員密碼。 每當 MySQL 資料庫密碼變更時,也需要更新應用程式設定。
WORDPRESS_ADMIN_EMAIL 僅限部署 - - WordPress 系統管理員電子郵件。
WORDPRESS_ADMIN_PASSWORD 僅限部署 - - WordPress 系統管理員密碼。 這僅適用於部署目的。 修改此值不會影響 WordPress 安裝。 若要變更 WordPress 系統管理員密碼,請參閱重設密碼
WORDPRESS_ADMIN_USER 僅限部署 - - WordPress 管理使用者名稱
WORDPRESS_ADMIN_LOCALE_CODE 僅限部署 - - 用來連線到 WordPress 的資料庫使用者名稱。

網域和 DNS

設定名稱 描述 範例
WEBSITE_DNS_SERVER 傳出連線的主要 DNS 伺服器 IP 位址 (例如後端服務)。 App Service 的預設 DNS 伺服器是 Azure DNS,其 IP 位址是 168.63.129.16。 如果您的應用程式使用 VNet 整合或位於 App Service 環境中,則預設會從 VNet 繼承 DNS 伺服器設定。 10.0.0.1
WEBSITE_DNS_ALT_SERVER 傳出連線的後援 DNS 伺服器 IP 位址。 請參閱 WEBSITE_DNS_SERVER
WEBSITE_ENABLE_DNS_CACHE 允許快取成功的 DNS 解析。 依預設會排清過期的 DNS 快取項目,此外,現有的快取每隔 4.5 分鐘會排清一次。

TLS/SSL

如需詳細資訊,請參閱在 Azure App Service 中的程式碼中使用 TLS/SSL 憑證

設定名稱 描述
WEBSITE_LOAD_CERTIFICATES 您要在程式碼中載入之憑證的逗號分隔指紋值,或 * 允許在程式碼中載入所有憑證。 只能載入新增至應用程式的憑證
WEBSITE_PRIVATE_CERTS_PATH 唯讀。 Windows 容器中載入私人憑證的路徑。
WEBSITE_PUBLIC_CERTS_PATH 唯讀。 Windows 容器中載入公開憑證的路徑。
WEBSITE_INTERMEDIATE_CERTS_PATH 唯讀。 Windows 容器中載入中繼憑證的路徑。
WEBSITE_ROOT_CERTS_PATH 唯讀。 Windows 容器中載入根憑證的路徑。

部署位置

如需部署位置的詳細資訊,請參閱在 Azure App Service 中設定預備環境

設定名稱 描述 範例
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 根據預設,每個位置的網站延伸模組版本是各自分開的。 這可防止因為交換後變更了延伸模組版本,而導致的非預期應用程式行為。 如果您想要同時交換延伸模組版本,請在「所有位置」設為 0
WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS 預設會將特定設定指定為黏性或無法交換。 預設值為 true。 請針對「所有部署位置」,將此設定設為 false0。 特定設定類型沒有精細的控制。
WEBSITE_SWAP_WARMUP_PING_PATH Ping 以在交換中準備目標位置的路徑,開頭為斜線。 預設值為 /,其會透過 HTTP ping 根路徑。 /statuscheck
WEBSITE_SWAP_WARMUP_PING_STATUSES 交換期間準備作業的有效 HTTP 回應碼。 如果傳回的狀態碼不在清單中,準備和交換作業就會停止。 根據預設,所有回應碼都是有效的。 200,202
WEBSITE_SLOT_NUMBER_OF_TIMEOUTS_BEFORE_RESTART 在位置交換期間,我們強制在特定 VM 執行個體上重新啟動網站之後的逾時次數上限。 預設值為 3
WEBSITE_SLOT_MAX_NUMBER_OF_TIMEOUTS 在位置交換期間,單一 URL 在放棄之前要進行的逾時要求次數上限。 預設值為 5
WEBSITE_SKIP_ALL_BINDINGS_IN_APPHOST_CONFIG 設定為 true1,以略過 applicationHost.config 中的所有繫結。 預設值為 false。 如果您的應用程式觸發重新啟動,因為 applicationHost.config 已使用交換的位置主機名稱進行更新,請將此變數設定為 true,以避免重新啟動此類型。 如果您正在執行 Windows Communication Foundation (WCF) 應用程式,請勿設定此變數。

自訂容器

如需自訂容器的詳細資訊,請參閱在 Azure 中執行自訂容器

設定名稱 描述 範例
WEBSITES_ENABLE_APP_SERVICE_STORAGE 針對 Linux 自訂容器:設定為 true,以啟用要在調整規模之執行個體之間共用的 /home 目錄。 預設值為 Linux 自訂容器的 false

針對 Windows 容器:設定為 true,以啟用要在調整規模之執行個體之間共用的 c:\home 目錄。 預設值為 Windows 容器的 true
WEBSITES_CONTAINER_START_TIME_LIMIT 等候容器在重新啟動容器之前完成啟動的時間量,以秒為單位。 預設值為 230。 您最多可以將其增加到 1800
WEBSITES_CONTAINER_STOP_TIME_LIMIT 等候容器正常終止的秒數。 預設值為 5。 可以增加至最大值 120
DOCKER_REGISTRY_SERVER_URL 在 App Service 中執行自訂容器時,登錄伺服器的 URL。 基於安全考量,此變數不會傳遞至容器。 https://<server-name>.azurecr.io
DOCKER_REGISTRY_SERVER_USERNAME DOCKER_REGISTRY_SERVER_URL 向登錄伺服器進行驗證的使用者名稱。 基於安全考量,此變數不會傳遞至容器。
DOCKER_REGISTRY_SERVER_PASSWORD DOCKER_REGISTRY_SERVER_URL 向登錄伺服器進行驗證的密碼。 基於安全考量,此變數不會傳遞至容器。
DOCKER_ENABLE_CI 設定為 true,以啟用自訂容器的持續部署。 預設值為自訂容器的 false
WEBSITE_PULL_IMAGE_OVER_VNET 連線並從虛擬網路或內部部署內的登錄提取。 您的應用程式必須使用 VNet 整合功能連線到虛擬網路。 這也需要搭配使用私人端點和 Azure Container Registry。
WEBSITES_WEB_CONTAINER_NAME 在 Docker Compose 應用程式中,只有一個容器可以存取網際網路。 設定為設定檔中定義的容器名稱,以覆寫預設容器選取範圍。 根據預設,網際網路可存取容器是定義連接埠 80 或 8080 的第一個容器,或者找不到此類容器時,設定檔中定義的第一個容器。
WEBSITES_PORT 對於自訂容器,容器上的自訂連接埠號碼,用於將要求路由傳送至 App Service。 根據預設,App Service 會嘗試自動偵測連接埠 80 和 8080。 此設定不會插入容器中作為環境變數。
WEBSITE_CPU_CORES_LIMIT 根據預設,Windows 容器在執行時,會使用所選定價層的所有可用核心。 若要減少核心數目,請設定為所需的核心數目限制。 如需詳細資訊,請參閱 自訂計算核心數目
WEBSITE_MEMORY_LIMIT_MB 根據預設,在 Azure App Service 中部署的所有 Windows 容器都會根據 App Service 方案 SKU 設定記憶體限制。 設定為所需的記憶體限制,以 MB 為單位。 相同方案中各應用程式中此設定的累計總計不得超過所選定價層允許的數量。 如需詳細資訊,請參閱自訂容器記憶體

調整大小

設定名稱 描述
WEBSITE_INSTANCE_ID 唯讀。 當應用程式擴增至多個執行個體時,目前 VM 執行個體的唯一識別碼。
WEBSITE_IIS_SITE_NAME 已取代。 使用 WEBSITE_INSTANCE_ID
WEBSITE_DISABLE_OVERLAPPED_RECYCLING 重疊回收會讓它在應用程式目前的 VM 執行個體關閉之前,啟動新的 VM 執行個體。 在某些情況下,可能會導致檔案鎖定問題。 您可以藉由設定為 1,以嘗試關閉它。
WEBSITE_DISABLE_CROSS_STAMP_SCALE 根據預設,如果應用程式使用 Azure 檔案儲存體 或 Docker 容器,則允許跨戳記調整。 設定為 1true,以停用應用程式區域內的跨戳記調整。 預設值為 0。 將 WEBSITES_ENABLE_APP_SERVICE_STORAGE 設定為 true1 無法調整跨戳記的自訂 Docker 容器,因為其內容未完全封裝在 Docker 容器中。

記錄

設定名稱 描述 範例
WEBSITE_HTTPLOGGING_ENABLED 唯讀。 顯示 Windows 原生應用程式的 Web 伺服器記錄是否已啟用 (1) 或未啟用 (0)。
WEBSITE_HTTPLOGGING_RETENTION_DAYS 如果 Windows 原生或 Linux 應用程式已啟用網頁伺服器記錄,則為網頁伺服器記錄的天數保留期間。 10
WEBSITE_HTTPLOGGING_CONTAINER_URL 如果已啟用網頁伺服器記錄,則為 blob 儲存體容器的 SAS URL,以儲存 Windows 原生應用程式的網頁伺服器記錄。 如果未設定,網頁伺服器記錄會儲存在應用程式的檔案系統中 (預設的共用儲存體)。
DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS 如果已啟用應用程式記錄檔,則為 Windows 原生應用程式應用程式記錄檔的保留期間天數。 10
DIAGNOSTICS_AZUREBLOBCONTAINERSASURL 如果已啟用應用程式記錄檔,則為 blob 儲存體容器儲存 Windows 原生應用程式應用程式記錄檔的 SAS URL。
APPSERVICEAPPLOGS_TRACE_LEVEL 針對 AppServiceAppLogs 記錄類型傳送至 Log Analytics 的記錄層級下限。
DIAGNOSTICS_LASTRESORTFILE 要建立的檔案名稱,或記錄目錄的相對路徑,用於記錄對接聽程式進行疑難排解的內部錯誤。 預設值為 logging-errors.txt
DIAGNOSTICS_LOGGINGSETTINGSFILE 記錄設定檔案的路徑,相對於 D:\home/home。 預設值為 site\diagnostics\settings.json
DIAGNOSTICS_TEXTTRACELOGDIRECTORY 記錄資料夾,相對於應用程式根目錄 (D:\home\site\wwwroot/home/site/wwwroot)。 ..\..\LogFiles\Application
DIAGNOSTICS_TEXTTRACEMAXLOGFILESIZEBYTES 記錄檔的大小上限,以位元組為單位。 預設值為 131072 (128 KB)。
DIAGNOSTICS_TEXTTRACEMAXLOGFOLDERSIZEBYTES 記錄資料夾的大小上限,以位元組為單位。 預設值為 1048576 (1 MB)。
DIAGNOSTICS_TEXTTRACEMAXNUMLOGFILES 要保留的記錄檔數目上限。 預設值為 20
DIAGNOSTICS_TEXTTRACETURNOFFPERIOD 讓應用程式記錄檔保持啟用狀態的逾時 (以毫秒為單位)。 預設值為 43200000 (12 小時)。
WEBSITE_LOG_BUFFERING 根據預設,會啟用記錄緩衝處理。 設定為 0 以將其停用。
WEBSITE_ENABLE_PERF_MODE 對於原生 Windows 應用程式,設定為 TRUE,以關閉在 10 秒內傳回成功要求的 IIS 記錄項目。 這是藉由移除擴充記錄來執行效能評定的快速方式。

效能計數器

以下這些值在您列舉它們的時候並不會出現,可說是「假的」環境變數。但如果您個別查閱它們,則會傳回其值。 此值是動態的,而且可以在每次查閱時變更。

設定名稱 描述
WEBSITE_COUNTERS_ASPNET 包含 ASP.NET 效能計數器的 JSON 物件。
WEBSITE_COUNTERS_APP 包含沙箱計數器的 JSON 物件。
WEBSITE_COUNTERS_CLR 包含 CLR 計數器的 JSON 物件。
WEBSITE_COUNTERS_ALL 包含其他三個變數組合的 JSON 物件。

快取功能

設定名稱 描述
WEBSITE_LOCAL_CACHE_OPTION 是否啟用本機快取。 可用選項包括:
- Default:繼承戳記層級全域設定。
- Always:為應用程式啟用。
- OnStorageUnavailability
- Disabled:為應用程式停用。
WEBSITE_LOCAL_CACHE_READWRITE_OPTION 本機快取的讀寫選項。 可用選項包括:
- ReadOnly:快取是唯讀的。
- WriteButDiscardChanges:允許寫入本機快取,但捨棄在本機所做的變更。
WEBSITE_LOCAL_CACHE_SIZEINMB 本機快取的大小,以 MB 為單位。 預設值為 1000 (1 GB)。
WEBSITE_LOCALCACHE_READY 唯讀旗標,表示應用程式是否使用本機快取。
WEBSITE_DYNAMIC_CACHE 由於網路檔案共用性質允許存取多個執行個體,動態快取可藉由在執行個體本機快取最近存取的檔案來改善效能。 修改檔案時,快取會失效。 快取位置為 %SYSTEMDRIVE%\local\DynamicCache (套用相同的 %SYSTEMDRIVE%\local 配額)。 若要啟用完整內容快取,請設定為 1,其中包括檔案內容和目錄/檔案中繼資料 (時間戳記、大小、目錄內容)。 若要節省本機磁碟的使用,請設定為 2,以便只快取目錄/檔案中繼資料 (時間戳記、大小、目錄內容)。 若要關閉快取,請設定為 0。 針對使用 WordPress 範本建立的 Windows 應用程式和 Linux 應用程式,預設值為 1。 對於所有其他 Linux 應用程式,預設值為 0
WEBSITE_READONLY_APP 使用動態快取時,您可以藉由將此變數設定為 1,停用應用程式根目錄 (D:\home\site\wwwroot/home/site/wwwroot)。 除了 App_Data 目錄之外,不允許獨佔鎖定,因此部署不會遭到鎖定檔案封鎖。

網路

下列環境變數與混合式連線VNET 整合有關。

設定名稱 描述
WEBSITE_RELAYS 唯讀。 設定混合式連線所需的資料,包括端點和服務匯流排資料。
WEBSITE_REWRITE_TABLE 唯讀。 在執行階段用來適當地查閱和重寫連線。
WEBSITE_VNET_ROUTE_ALL 根據預設,如果您使用區域 VNet 整合,您的應用程式只會將 RFC1918 流量路由傳送至 VNet。 設定為 1,以將所有輸出流量路由傳送至 VNet,並受限於相同的 NSG 和 UDR。 此設定可讓您透過 VNet 存取非 RFC1918 端點、保護離開應用程式的所有輸出流量,以及強制將所有輸出流量傳送至您選擇的網路設備。
WEBSITE_PRIVATE_IP 唯讀。 與 VNet 整合時,與應用程式相關聯的 IP 位址。 對於區域 VNet 整合,此值是來自委派子網路位址範圍的 IP,而針對閘道所需的 VNet 整合,此值是來自虛擬網路閘道上所設定之點對站位址集區的 IP。 應用程式會使用此 IP,透過 VNet 連線到資源。 此外,它可以在描述的位址範圍內變更。
WEBSITE_PRIVATE_PORTS 唯讀。 在 VNet 整合中,顯示應用程式可以使用哪些連接埠與其他節點進行通訊。
WEBSITE_CONTENTOVERVNET 如果您要在 App Service 上掛接 Azure 檔案共用,且儲存體帳戶受限於 VNET,請確定以 1 值啟用此設定。

金鑰保存庫參考

下列環境變數與金鑰保存庫參考有關。

設定名稱 描述
WEBSITE_KEYVAULT_REFERENCES 唯讀。 包含目前在應用程式中設定之所有 Key Vault 參考的資訊 (包括狀態)。
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 如果您將應用程式的共用儲存體連線 (using WEBSITE_CONTENTAZUREFILECONNECTIONSTRING) 設定為 Key Vault 參考,如果下列其中一個條件為真,應用程式就無法在應用程式建立或更新時,解析金鑰保存庫參考:
- 應用程式會使用系統指派的身分識別來存取金鑰保存庫。
- 應用程式會使用使用者指派的身分識別來存取金鑰保存庫,並使用 VNet 鎖定金鑰保存庫。
若要避免在建立或更新時發生錯誤,請將此變數設為 1
WEBSITE_DELAY_CERT_DELETION 使用者可將此 env var 設為 1,以確保在結束之前,不會刪除背景工作處理序相依的憑證。

CORS

下列環境變數與跨原始來源資源共用 (CORS) 設定有關。

設定名稱 描述
WEBSITE_CORS_ALLOWED_ORIGINS 唯讀。 顯示 CORS 的允許來源。
WEBSITE_CORS_SUPPORT_CREDENTIALS 唯讀。 顯示將 Access-Control-Allow-Credentials 標頭設為 true 已啟用 (True) 或未啟用 (False)。

驗證與授權

下列環境變數與 App Service 驗證有關。

設定名稱 描述
WEBSITE_AUTH_DISABLE_IDENTITY_FLOW 當設定為 true 時,會停用在以 ASP.NET 為基礎的 Web 應用程式中指派執行緒主體身分識別 (包括 v1 函數應用程式)。 這是設計來允許開發人員使用驗證來保護其網站的存取權,但仍在其應用程式邏輯中使用個別的登入機制。 預設值為 false
WEBSITE_AUTH_HIDE_DEPRECATED_SID truefalse。 預設值是 false。 這是適用於 Azure App Service 的舊版 Azure Mobile Apps 整合設定。 將此設定為 true,以解決使用者變更其設定檔資訊時,針對已驗證使用者產生的 SID (安全性識別碼) 可能會變更的問題。 變更此值可能會導致現有的 Azure Mobile Apps 使用者識別碼變更。 大部分的應用程式不需要使用此設定。
WEBSITE_AUTH_NONCE_DURATION 格式 _hours_:_minutes_:_seconds_ 中的時間範圍 (timespan) 值。 預設值為 00:05:00,或 5 分鐘。 此設定可控制針對所有瀏覽器驅動登入產生的密碼編譯 nonce 存留期。 如果登入無法在指定時間內完成,系統會自動重試登入流程。 此應用程式設定適用於 V1 (傳統) 設定體驗。 如果使用 V2 驗證設定結構描述,您應該改用 login.nonce.nonceExpirationInterval 設定值。
WEBSITE_AUTH_PRESERVE_URL_FRAGMENT 設定為 true,且使用者選取包含 URL 片段的應用程式連結時,登入程序可確保 URL 的 URL 片段部分不會在登入重新導向程序中遺失。 如需詳細資訊,請參閱在 Azure App Service 驗證中自訂登入和登出
WEBSITE_AUTH_USE_LEGACY_CLAIMS 為了維護升級之間的回溯相容性,驗證模組會使用 /.auth/me API 中短名稱到長名稱的舊版宣告對應,因此,會排除某些對應 (例如「角色」)。 若要取得較新版的宣告對應,請將此變數設為 False。 在「角色」範例中,會對應至長宣告名稱 "http://schemas.microsoft.com/ws/2008/06/identity/claims/role"。
WEBSITE_AUTH_DISABLE_WWWAUTHENTICATE truefalse。 預設值是 false。 當設定為 true 時,會從模組產生的 HTTP 401 回應中移除 WWW-Authenticate HTTP 回應標頭。 此應用程式設定適用於 V1 (傳統) 設定體驗。 如果使用 V2 驗證設定結構描述,您應該改用 identityProviders.azureActiveDirectory.login.disableWwwAuthenticate 設定值。
WEBSITE_AUTH_STATE_DIRECTORY 啟用檔案型權杖存放區時,儲存權杖的本機檔案系統目錄路徑。 預設值是 %HOME%\Data\.auth。 此應用程式設定適用於 V1 (傳統) 設定體驗。 如果使用 V2 驗證設定結構描述,您應該改用 login.tokenStore.fileSystem.directory 設定值。
WEBSITE_AUTH_TOKEN_CONTAINER_SASURL 完整 Blob 容器 URL。 指示驗證模組將所有加密的權杖儲存並載入指定的 Blob 儲存體容器,而不是使用預設的本機檔案系統。
WEBSITE_AUTH_TOKEN_REFRESH_HOURS 任何十進位正數。 預設值為 72 (小時)。 此設定可控制工作階段權杖到期後,/.auth/refresh API 可用來重新整理該權杖的時間量。 此期間之後的重新整理嘗試將會失敗,且終端使用者必須再次登入。 此應用程式設定適用於 V1 (傳統) 設定體驗。 如果使用 V2 驗證設定結構描述,您應該改用 login.tokenStore.tokenRefreshExtensionHours 設定值。
WEBSITE_AUTH_TRACE_LEVEL 控制寫入應用程式記錄檔的驗證追蹤詳細程度。 有效值為 OffErrorWarningInformationVerbose。 預設值是 Verbose
WEBSITE_AUTH_VALIDATE_NONCE truefalse。 預設值是 true。 此值永遠不應該設為 false,除非在互動式登入時發生臨時偵錯密碼編譯 nonce 驗證失敗的情況。 此應用程式設定適用於 V1 (傳統) 設定體驗。 如果使用 V2 驗證設定結構描述,您應該改用 login.nonce.validateNonce 設定值。
WEBSITE_AUTH_V2_CONFIG_JSON 此環境變數會自動由 Azure App Service 平台填入,並用來設定整合式驗證模組。 此環境變數的值會對應至 Azure Resource Manager 中目前應用程式的 V2 (非傳統) 驗證設定。 它不適合明確設定。
WEBSITE_AUTH_ENABLED 唯讀。 插入 Windows 或 Linux 應用程式,以指出是否已啟用 App Service 驗證。
WEBSITE_AUTH_ENCRYPTION_KEY 根據預設,自動產生的金鑰會用來做為加密金鑰。 若要覆寫,請設定為所需的金鑰。 如果您想要跨多個應用程式共用權杖或工作階段,建議您這麼做。 如果已指定,則會取代 MACHINEKEY_DecryptionKey 設定。
WEBSITE_AUTH_SIGNING_KEY 根據預設,自動產生的金鑰會用來做為簽署金鑰。 若要覆寫,請設定為所需的金鑰。 如果您想要跨多個應用程式共用權杖或工作階段,建議您這麼做。 如果已指定,則會取代 MACHINEKEY_ValidationKey 設定。

受控識別

下列環境變數與受控識別相關。

設定名稱 描述
IDENTITY_ENDPOINT 唯讀。 擷取應用程式受控識別權杖的 URL。
MSI_ENDPOINT 已取代。 使用 IDENTITY_ENDPOINT
IDENTITY_HEADER 唯讀。 對 IDENTITY_ENDPOINT 進行 HTTP GET 要求時,必須新增至 X-IDENTITY-HEADER 標頭的值。 值會由平台旋轉。
MSI_SECRET 已取代。 使用 IDENTITY_HEADER

健康情況檢查

下列環境變數與健康情況檢查相關。

設定名稱 描述
WEBSITE_HEALTHCHECK_MAXPINGFAILURES 移除執行個體之前失敗的 Ping 次數上限。 設為 2100 之間的值。 在擴大或擴增時,App Service 會偵測健康情況檢查路徑,以確保新的執行個體已就緒。 如需詳細資訊,請參閱健康情況檢查
WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT 為了避免狀況良好的執行個體負荷過重,將會排除不超過一半的執行個體。 例如,如果 App Service 方案擴增為四個執行個體,而其中三個狀況不良,最多會排除兩個。 另外兩個執行個體 (一個狀況良好,另一個狀況不良) 會繼續接收要求。 如果發生所有執行個體都狀況不良的最糟情況,則不會排除任何執行個體。 若要覆寫此行為,請將值設為 1100 之間的值。 值越高表示將會移除越多狀況不良的執行個體。 預設值為 50 (50%)。

推播通知

下列環境變數與推播通知功能相關。

設定名稱 描述
WEBSITE_PUSH_ENABLED 唯讀。 啟用推播通知時新增。
WEBSITE_PUSH_TAG_WHITELIST 唯讀。 包含通知註冊中的標籤。
WEBSITE_PUSH_TAGS_REQUIRING_AUTH 唯讀。 包含通知註冊中需要使用者驗證的標籤清單。
WEBSITE_PUSH_TAGS_DYNAMIC 唯讀。 在自動新增的通知註冊中包含標籤清單。

注意

本文參考了 Microsoft 不再使用的詞彙。 從軟體中移除該字詞時,我們也會將其從本文中移除。

Webjobs

下列環境變數與 WebJobs 相關。

設定名稱 描述
WEBJOBS_RESTART_TIME 對於連續作業,在重新啟動之前,因任何原因而關閉作業程序時的延遲 (以秒為單位)。
WEBJOBS_IDLE_TIMEOUT 對於觸發的作業,如果作業處於閒置狀態而中止之後的逾時 (以秒為單位),沒有 CPU 時間或輸出。
WEBJOBS_HISTORY_SIZE 對於觸發的作業,每個作業在歷程記錄目錄中保留的執行數目上限。 預設值為 50
WEBJOBS_STOPPED 設定為 1,以停用執行任何作業,並停止所有目前執行中的作業。
WEBJOBS_DISABLE_SCHEDULE 設定為 1,以關閉所有排程的觸發。 仍然可以手動叫用作業。
WEBJOBS_ROOT_PATH Webjob 檔案的絕對路徑或相對路徑。 對於相對路徑,此值會與預設根路徑 (D:/home/site/wwwroot//home/site/wwwroot/) 結合。
WEBJOBS_LOG_TRIGGERED_JOBS_TO_APP_LOGS 設為 true,以將觸發的 WebJobs 輸出傳送至應用程式記錄檔管道 (其支援檔案系統、Blob 和資料表)。
WEBJOBS_SHUTDOWN_FILE 當偵測到關機要求時,App Service 建立的檔案。 Web 作業程序負責偵測此檔案是否存在,並起始關機。 使用 WebJobs SDK 時,會自動處理此部分。
WEBJOBS_PATH 唯讀。 目前執行中作業的根路徑 (將位於一些暫存目錄下)。
WEBJOBS_NAME 唯讀。 目前的作業名稱。
WEBJOBS_TYPE 唯讀。 目前的作業類型 (triggeredcontinuous)。
WEBJOBS_DATA_PATH 唯讀。 包含作業記錄、歷程記錄和作業之任何成品的目前作業中繼資料路徑。
WEBJOBS_RUN_ID 唯讀。 對於觸發的作業,作業的目前執行識別碼。

函式

設定名稱 描述
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 設定為 0,以停用函式快取。
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 適用於 Azure Functions 的應用程式設定參考
AzureWebJobsSecretStorageType 適用於 Azure Functions 的應用程式設定參考
FUNCTIONS_EXTENSION_VERSION 適用於 Azure Functions 的應用程式設定參考
FUNCTIONS_WORKER_RUNTIME 適用於 Azure Functions 的應用程式設定參考
AzureWebJobsStorage 適用於 Azure Functions 的應用程式設定參考
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 適用於 Azure Functions 的應用程式設定參考
WEBSITE_CONTENTSHARE 適用於 Azure Functions 的應用程式設定參考
WEBSITE_CONTENTOVERVNET 適用於 Azure Functions 的應用程式設定參考
WEBSITE_ENABLE_BROTLI_ENCODING 適用於 Azure Functions 的應用程式設定參考
WEBSITE_USE_PLACEHOLDER 適用於 Azure Functions 的應用程式設定參考
WEBSITE_PLACEHOLDER_MODE 唯讀。 顯示函式應用程式是在預留位置主機 (generalized) 上執行,或在其自己的主機 (specialized) 上執行。
WEBSITE_DISABLE_ZIP_CACHE 當您的應用程式從 ZIP 套件 (WEBSITE_RUN_FROM_PACKAGE=1) 執行時,應用程式檔案系統中會快取五個最近部署的 ZIP 套件 (D:\home\data\SitePackages)。 將此變數設定為 1,以停用此快取。 對於 Linux 取用應用程式,預設會停用 ZIP 套件快取。