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

Azure App 服務 中,部署或運行時間環境可以使用某些設定作為環境變數。 當您手動設定這些設定為 應用程式設定時,可以自定義其中一些設定。 此參考會顯示您可以使用或自訂的變數。

應用程式環境

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

設定名稱 描述 範例
WEBSITE_SITE_NAME 唯讀。 應用程式名稱。
WEBSITE_RESOURCE_GROUP 唯讀。 包含應用程式資源的 Azure 資源組名。
WEBSITE_OWNER_NAME 唯讀。 包含擁有應用程式、資源群組和 Webspace 的 Azure 訂用帳戶標識碼。
REGION_NAME 唯讀。 應用程式的區域名稱。
WEBSITE_PLATFORM_VERSION 唯讀。 App Service 平臺版本。
HOME 唯讀。 主目錄的路徑(例如, D:\home 適用於 Windows)。
SERVER_PORT 唯讀。 應用程式應該接聽的埠。
WEBSITE_WARMUP_PATH 從斜線開始,ping 以準備應用程式的相對路徑。 預設值為 /,它會 Ping 根路徑。 即使 App Service 驗證設定為拒絕未經驗證的用戶端,也可以由未經驗證的用戶端偵測特定路徑,例如 Azure 流量管理員。 (注意:此應用程式設定不會變更 AlwaysOn 所使用的路徑。
WEBSITE_COMPUTE_MODE 唯讀。 指定應用程式是在專用 () 或共用的 VMDedicatedShared/秒上執行。
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 限制(請參閱 跨 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 唯讀。 顯示 AlwaysOn 是否已啟用 (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 資料庫 連接字串。 它會以 連接字串 的形式插入 .NET 應用程式。
POSTGRESQLCONNSTR_ 表示應用程式組態中的PostgreSQL連接字串。 它會插入 .NET 應用程式作為 連接字串。
CUSTOMCONNSTR_ 表示應用程式組態中的自訂 連接字串。 它會以 連接字串 的形式插入 .NET 應用程式。
MYSQLCONNSTR_ 表示應用程式組態中的 My SQL 資料庫 連接字串。 它會以 連接字串 的形式插入 .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 服務 中執行您的應用程式。
WEBSITE_USE_ZIP 已取代。 使用 WEBSITE_RUN_FROM_PACKAGE
WEBSITE_RUN_FROM_ZIP 已取代。 使用 WEBSITE_RUN_FROM_PACKAGE
WEBSITE_WEBDEPLOY_USE_SCM 設定為 , false 讓 WebDeploy 停止使用 Kudu 部署引擎。 預設值為 true。 若要使用 Visual Studio 部署至 Linux 應用程式(WebDeploy/MSDeploy),請將它設定為 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 REST API 呼叫更新 site ,並且 siteconfig 會在傳回之前完全套用至所有實例。 使用 ARM 範本進行部署時,預設值為 1 避免後續 ARM 呼叫的競爭條件。
WEBSITE_START_SCM_ON_SITE_CREATION 在 ARM 範本部署中,將設定為 ARM 範本中的 , 1 以在應用程式建立時預先啟動 Kudu 應用程式。
WEBSITE_START_SCM_WITH_PRELOAD 針對 Linux 應用程式,將設定為 true ,以在啟用 Always On 時強制預先載入 Kudu 應用程式,方法是 Ping 其 URL。 預設值為 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. 時,請將此變數設定為 1 ,以在建置環境中載入完整的使用者配置檔。 只有當 是 DedicatedWEBSITE_COMPUTE_MODE,才適用此設定。
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 另一 - 可以是開啟或關閉。 請注意,值會區分大小寫。 啟用或停用檔案上傳。
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 服務 中使用程序代碼中的 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 服務 中設定預備環境。

設定名稱 描述 範例
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 根據預設,月臺擴充功能的版本會專屬於每個位置。 這可防止非預期的應用程式行為,因為交換之後變更擴充功能版本。 如果您要同時交換擴充功能版本,請在所有位置設定為 0
WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS 根據預設,將特定設定指定為黏性或無法交換。 預設值為 true。 將此設定設定設定為 false0讓所有部署位置 改為可交換。 特定設定類型沒有精細的控制。
WEBSITE_SWAP_WARMUP_PING_PATH Ping 以在交換中將目標位置熱身的路徑,從斜線開始。 默認值為 /,它會透過 HTTP 偵測根路徑。 /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 設定為 true ,可讓 /home 目錄跨擴展實例共用。 預設為 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 服務 中的所有 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_STORAGEtrue1 無法調整跨戳記的自定義 Docker 容器,因為其內容並未完全封裝在 Docker 容器中。

記錄

設定名稱 描述 範例
WEBSITE_HTTPLOGGING_ENABLED 唯讀。 顯示 Windows 原生應用程式的網頁伺服器記錄是否已啟用 (1) (0)。
WEBSITE_HTTPLOGGING_RETENTION_DAYS 如果已啟用 Web 伺服器記錄,則為 Windows 原生應用程式的網頁伺服器記錄天數保留期間。 10
WEBSITE_HTTPLOGGING_CONTAINER_URL 如果已啟用 Web 伺服器記錄,Blob 記憶體容器的 SAS URL 可儲存 Windows 原生應用程式的 Web 伺服器記錄。 如果未設定,Web 伺服器記錄會儲存在應用程式的檔案系統中(預設共用記憶體)。
DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS 如果已啟用應用程式記錄,則保留期間為 Windows 原生應用程式的應用程式記錄天數。 10
DIAGNOSTICS_AZUREBLOBCONTAINERSASURL 如果已啟用應用程式記錄,則為 Blob 記憶體容器的 SAS URL 來儲存 Windows 原生應用程式的應用程式記錄。
APPSERVICEAPPLOGS_TRACE_LEVEL 要寄送至 Log Analytics 以進行 AppServiceAppLogs 記錄類型的記錄層級下限。
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 perf 計數器的 JSON 物件。
WEBSITE_COUNTERS_APP 包含沙箱計數器的 JSON 物件。
WEBSITE_COUNTERS_CLR 包含 CLR 計數器的 JSON 物件。
WEBSITE_COUNTERS_ALL JSON 物件,包含其他三個變數的組合。

快取功能

設定名稱 描述
WEBSITE_LOCAL_CACHE_OPTION 是否啟用本機快取。 可用的選項包括:
- Default:繼承戳記層級全域設定。
- Always:為應用程式啟用。
- On 儲存體 Unavailability
- 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 唯讀。 包含目前在應用程式中設定之所有 金鑰保存庫 參考的資訊(包括狀態)。
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 如果您將應用程式的共享記憶體連線設定WEBSITE_CONTENTAZUREFILECONNECTIONSTRING為 金鑰保存庫 參考,則如果下列其中一個條件成立,應用程式就無法解析密鑰保存庫參考:如果下列其中一個條件成立,應用程式就無法解析密鑰保存庫參考:
- 應用程式會使用系統指派的身分識別來存取金鑰保存庫。
- 應用程式會使用使用者指派的身分識別來存取金鑰保存庫,且金鑰保存庫會 以 VNet 鎖定。
若要避免在建立或更新時間發生錯誤,請將此變數設定為 1
WEBSITE_DELAY_CERT_DELETION 用戶可以將此 env var 設定為 1,以確保背景工作進程相依的憑證在結束之前不會刪除。

CORS

下列環境變數與跨原始來源資源分享 (CORS) 組態相關。

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

驗證與授權

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

設定名稱 描述
WEBSITE_AUTH_DISABLE_IDENTITY_FLOW 當設定為 true時,會停用在 ASP 中指派線程主體身分識別。以 NET 為基礎的 Web 應用程式(包括 v1 函式應用程式)。 其設計目的是讓開發人員使用驗證來保護其網站的存取權,但仍在應用程式邏輯內使用個別的登入機制。 預設值為 false
WEBSITE_AUTH_HIDE_DEPRECATED_SID truefalse。 預設值是 false。 這是舊版 Azure Mobile Apps 整合 Azure App 服務 的設定。 設定此選項可 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 服務 驗證
WEBSITE_AUTH_USE_LEGACY_CLAIMS 為了在升級之間維持回溯相容性,驗證模組會使用 API 中 /.auth/me 短到長名稱的舊版宣告對應,因此會排除某些對應(例如「角色」)。 若要取得較新版的宣告對應,請將此變數設定為 False。 在 「roles」 範例中,它會對應至長宣告名稱 “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 控制寫入應用程式 記錄的驗證追蹤詳細資訊。 有效值為 Off、、ErrorWarningInformation、 和 Verbose。 預設值是 Verbose
WEBSITE_AUTH_VALIDATE_NONCE truefalse。 預設值是 true。 除非在互動式登入期間暫時偵錯密碼編譯非驗證失敗時,否則不應該將此值設定為 false 。 此應用程式設定適用於搭配 V1 (傳統) 組態體驗使用。 如果使用 V2 驗證組態架構,您應該改用組 login.nonce.validateNonce 態值。
WEBSITE_AUTH_V2_CONFIG_JSON 此環境變數會自動由 Azure App 服務 平臺填入,並用來設定整合式驗證模組。 此環境變數的值會對應至 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 唯讀。 對提出 HTTP GET 要求IDENTITY_ENDPOINT時,必須加入X-IDENTITY-HEADER標頭的值。 值會由平台旋轉。
MSI_SECRET 已取代。 使用 IDENTITY_HEADER

健康情況檢查

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

設定名稱 描述
WEBSITE_HEALTHCHECK_MAXPINGFAILURES 拿掉實例之前,失敗的 Ping 數目上限。 將設定為和100之間的2值。 當您相應增加或相應放大時,App Service 會偵測健康情況檢查路徑,以確保新的實例已就緒。 如需詳細資訊,請參閱 健康情況檢查
WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT 若要避免大量狀況良好的實例,將不會排除超過一半的實例。 例如,如果 App Service 方案調整為四個實例,而三個實例狀況不良,則最多會排除兩個。 其他兩個實例(一個狀況良好且狀況不良)會繼續接收要求。 在狀況不良的案例中,所有實例都狀況不良,將不會排除任何實例。 若要覆寫此行為,請將 設定為 和100之間的1值。 較高的值表示將會移除狀況不良的實例。 預設值為 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 唯讀。 顯示函式應用程式是在佔位元主機 () 或自己的主機上執行generalizedspecialized)。
WEBSITE_DISABLE_ZIP_CACHE 當您的應用程式從 ZIP 套件 執行時, WEBSITE_RUN_FROM_PACKAGE=1應用程式檔案系統中會快取最近部署的五個 ZIP 套件(D:\home\data\SitePackages)。 將此變數設定為 1 以停用此快取。 針對 Linux 取用應用程式,預設會停用 ZIP 套件快取。