共用方式為


Azure 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 相對路徑,開頭為斜線。 預設值為 /robots933456.txt

每當平台啟動容器時,協調器就會針對此端點提出重複的要求。 平臺會將此端點的任何回應視為容器就緒的指示。 當平臺將容器視為就緒時,它會開始將有機流量轉送至新啟動的容器。 除非 WEBSITE_WARMUP_STATUSES 已設定,否則平臺會將來自此端點容器的任何回應視為容器就緒的指示,例如 404 或 502。

此應用程式設定不會變更 AlwaysOn 使用的路徑。
WEBSITE_WARMUP_STATUSES 當平台針對新啟動的容器進行準備 Ping 時,將被視為成功的 HTTP 狀態碼以逗號分隔的清單。 與 WEBSITE_WARMUP_PATH 搭配使用。

根據預設,任何狀態代碼都會被視為容器已準備好用於有機流量的指示。 在將有機流量路由傳送至容器之前,您可以使用此應用程式來要求特定回應。

例如 200,202。 如果針對應用程式所設定的準備路徑進行 Ping,收到具有 200 或 202 狀態碼的回應,則會將有機流量路由至容器。 如果收到不在清單中的狀態代碼(例如 502),平臺會繼續進行 Ping,直到收到 200 或 202,或直到達到容器啟動逾時限制為止。 (請參閱此資料表後續的 WEBSITES_CONTAINER_START_TIME_LIMIT。)

如果容器未回應清單中的 HTTP 狀態代碼,平台最終會失敗啟動嘗試並重試,這會導致 503 錯誤。
WEBSITE_COMPUTE_MODE 唯讀。 指定應用程式是在專用 () 或共用的Dedicated虛擬機 (SharedVM) 上執行。
WEBSITE_SKU 唯讀。 應用程式的定價層。 可能的值為 FreeSharedBasicStandard
SITE_BITNESS 唯讀。 顯示應用程式是32位 (x86) 或64位(AMD64)。
WEBSITE_HOSTNAME 唯讀。 應用程式的主要主機名。 此設定不會考慮自定義主機名。
WEBSITE_VOLUME_TYPE 唯讀。 顯示目前使用的儲存體磁碟區類型。
WEBSITE_NPM_DEFAULT_VERSION 應用程式使用的預設 npm 版本。
WEBSOCKET_CONCURRENT_REQUEST_LIMIT 唯讀。 並行 WebSocket 要求的限制。 Standard 層和更高層級的值為 -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 應用程式,請勿設定此值。 如需更多資訊,請參閱 交換疑難排解
WEBSITE_PROACTIVE_AUTOHEAL_ENABLED 依預設,當 VM 執行個體使用超過 90% 的已配置記憶體超過 30 秒,或過去兩分鐘內 80% 的要求總數需要超過 200 秒時,就會主動修正。 如果 VM 實例觸發其中一個規則,復原程序將進行實例的重疊重啟。

設定為 false 以停用此復原行為。 預設值為 true

如需詳細資訊,請參閱 主動式自動癒合簡介 部落格文章。
WEBSITE_PROACTIVE_CRASHMONITORING_ENABLED 每當應用程式 VM 實例上的 w3wp.exe 程序在 24 小時內因未處理的例外狀況發生超過三次損毀時,調試程序便會附加到該實例上的主要工作程序。 當背景工作處理序再次當機時,偵錯程序會收集記憶體傾印。 接著會分析此記憶體傾印,並在 App Service 記錄中記錄導致損毀的執行緒的呼叫堆疊。

設定為 false,以停用此自動監視行為。 預設值為 true

如需詳細資訊,請參閱 Azure App Service 中的主動式當機監視 部落格文章。
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 會在應用程式建立時建立共用儲存體。 若要改用自訂儲存體帳戶,請設定為儲存體帳戶的連接字串。 如需函式,請參閱 Azure 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 等候名稱解析的秒數。
WEBSITES_CONTAINER_START_TIME_LIMIT 平臺等候容器在啟動時準備好的時間量(以秒為單位)。 此設定適用於 App Service for Linux 上的程式碼型和容器型應用程式。 預設值是 230

當容器啟動時,會針對容器進行重複的 Ping,以測量其提供有機流量的整備程度。 (見 WEBSITE_WARMUP_PATHWEBSITE_WARMUP_STATUSES。這些 Ping 會持續進行,直到收到成功的回應或達到開始時間限制為止。 如果容器在設定的逾時內未視為就緒,平台會失敗啟動嘗試並重試,這會導致 503 錯誤。

針對適用於 Windows 容器的 App Service 容器,預設的開始時間限制為 10 mins。 您可以指定時間範圍來變更開始時間限制。 例如, 00:05:00 表示 5 分鐘。

變數前置詞

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

設定名稱 描述
APPSETTING_ 表示客戶在應用程式組態中將變數設定為應用程式設定。 它會以應用程式設定的形式加入到 .NET 應用程式中。
MAINSITE_ 表示變數專屬於應用程式本身。
SCMSITE_ 表示變數是 Kudu 應用程式特有的。
SQLCONNSTR_ 應用程式組態中的 SQL Server 連接字串。 它會作為連接字串注入 .NET 應用程式。
SQLAZURECONNSTR_ 應用程式組態中的 Azure SQL Database 連接字串。 它會作為連接字串注入 .NET 應用程式。
POSTGRESQLCONNSTR_ 應用程式組態中的PostgreSQL連接字串。 它會作為連接字串注入 .NET 應用程式。
CUSTOMCONNSTR_ 應用程式組態中的自定義連接字串。 它會作為連接字串注入 .NET 應用程式。
MYSQLCONNSTR_ 應用程式組態中的 MySQL 資料庫連接字串。 它會作為連接字串注入 .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,以從遠端 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 您的應用程式會保留五個透過 ZIP 部署部署的最新 ZIP 檔案。 您可以將應用程式設定變更為不同的數位,以保留更多或更少。
WEBSITE_WEBDEPLOY_USE_SCM 設定為 , false 讓 Web Deploy 停止使用 Kudu 部署引擎。 預設值為 true。 若要使用 Visual Studio 部署至 Linux 應用程式(Web Deploy/MSDeploy),請將它設定為 false
MSDEPLOY_RENAME_LOCKED_FILES 如在 Web Deploy 部署期間無法複製 DLL,請將其設定為1,以嘗試重新命名這些 DLL。 如果 WEBSITE_WEBDEPLOY_USE_SCM 設定為 false,則不適用此設定。
WEBSITE_DISABLE_SCM_SEPARATION 根據預設,主要應用程式和 Kudu 應用程式會在不同的沙箱中執行。 當您停止應用程式時,Kudu 應用程式仍在執行中,而且您可以繼續使用 Git 部署和 MSDeploy。 每個應用程式都有自己的本機檔案。 關閉此分隔 (設定為 true) 是不再完全支援的舊版模式。
WEBSITE_ENABLE_SYNC_UPDATE_SITE 1 設定,確保更新 sitesiteconfig 的 REST API 呼叫能在返回之前完全套用至所有執行個體。 默認值是 1 ,如果您要使用 Azure Resource Manager 範本 (ARM 範本) 進行部署,以避免與後續 Resource Manager 呼叫競爭條件。
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,即可增加追蹤能力。
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 作業中使用 git.exe,而不使用 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 原始檔控制管理員 (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 應用程式設定,或直接在檔案的 machineKey 元素中Web.config加以設定。
MACHINEKEY_DecryptionKey 針對原生 Windows 應用程式或容器化 Windows 應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯例程。 (請參閱 machineKey 元素。若要覆寫自動產生的decryptionKey值,請將它設定為 App Service 應用程式設定,或直接在檔案的 machineKey 元素中Web.config加以設定。
MACHINEKEY_Validation 針對原生 Windows 應用程式或容器化 Windows 應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯例程。 (請參閱 machineKey 元素。若要覆寫預設值validation,請將它設定為 App Service 應用程式設定,或直接在檔案的 machineKey 元素中Web.config加以設定。
MACHINEKEY_ValidationKey 針對原生 Windows 應用程式或容器化 Windows 應用程式,此變數會插入應用程式環境或容器,以啟用 ASP.NET 密碼編譯例程。 (請參閱 machineKey 元素。若要覆寫自動產生的validationKey值,請將它設定為 App Service 應用程式設定,或直接在檔案的 machineKey 元素中Web.config加以設定。

WordPress

應用程式設定 範圍 價值 最大值 描述
WEBSITES_ENABLE_APP_SERVICE_STORAGE Web 應用程式 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 不適用 啟用或停用檔案上傳。 可以是 OnOff。 請注意,這些值區分大小寫。
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 資料庫 不適用 不適用 用來連線到 WordPress 的資料庫主機。
DATABASE_NAME 資料庫 不適用 不適用 用來連接到 WordPress 的資料庫名稱。
DATABASE_USERNAME 資料庫 不適用 不適用 用來連線到 WordPress 的資料庫使用者名稱。
DATABASE_PASSWORD 資料庫 不適用 不適用 用於連線至 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。 如果您的應用程式使用 虛擬網路整合 或位於 App Service 環境中,則預設會從虛擬網路繼承 DNS 伺服器組態。

範例:10.0.0.1
WEBSITE_DNS_ALT_SERVER 對外連線用後援 DNS 伺服器的 IP 位址。 請參閱 WEBSITE_DNS_SERVER
WEBSITE_ENABLE_DNS_CACHE 允許成功的 DNS 解析被暫存。 根據預設,每隔 4.5 分鐘會清除一次已過期的 DNS 快取項目(不包括目前的快取項目)。

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 應用程式,請勿設定此變數。

自訂容器

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

設定名稱 描述
WEBSITES_ENABLE_APP_SERVICE_STORAGE 針對 Linux 容器,如果未指定此應用程式設定, /home 則目錄預設會跨縮放實例共用。 您可以將它設定為 false ,以停用共用。

針對 Windows 容器,將 設定為 true ,讓 c:\home 目錄能夠跨縮放實例共用。 預設值為 Windows 容器的 true
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 連線並從虛擬網路或內部部署內的登錄提取。 您的應用程式必須透過虛擬網路整合功能連線到虛擬網路。 使用私人端點的 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 根據預設,根據 App Service 方案層級而定,在 App Service 中部署的所有 Windows 容器都會設定記憶體限制。 設定為所需的記憶體限制,以 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。 自訂 Docker 容器將 WEBSITES_ENABLE_APP_SERVICE_STORAGE 設定為 true1 時,無法在不同標籤間進行擴展,因為其內容未完全封裝在 Docker 容器中。

記錄

設定名稱 描述
WEBSITE_HTTPLOGGING_ENABLED 唯讀。 顯示原生 Windows 應用程式的網頁伺服器日誌是否已啟用(1),或未啟用(0)。
WEBSITE_HTTPLOGGING_RETENTION_DAYS 如果原生 Windows 或 Linux 應用程式已啟用網頁伺服器記錄,則網頁伺服器記錄的保留期間(以天為單位)。

範例:10
WEBSITE_HTTPLOGGING_CONTAINER_URL 如果已啟用 Web 伺服器記錄,Blob 記憶體容器的 SAS URL 可儲存原生 Windows 應用程式的網頁伺服器記錄。 如果未設定,Web 伺服器記錄會儲存在應用程式的檔案系統中(預設共用記憶體)。
DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS 如果已啟用應用程式記錄,原生 Windows 應用程式的應用程式記錄保留期間(以天為單位)。

範例:10
DIAGNOSTICS_AZUREBLOBCONTAINERSASURL 如果已啟用應用程式記錄,Blob 記憶體容器的SAS URL 可儲存原生 Windows 應用程式的應用程式記錄。
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 包含 Common Language Runtime 計數器的 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 當您使用動態快取時,您可以將此變數設定為 D:\home\site\wwwroot,以停用對應用程式根目錄的寫入存取權。/home/site/wwwroot1 App_Data除了目錄之外,不允許獨佔鎖定,因此鎖定的檔案不會封鎖部署。

網路

下列環境變數與 混合式連線虛擬網路整合相關。

設定名稱 描述
WEBSITE_RELAYS 唯讀。 設定混合式連線所需的數據,包括端點和服務總線數據。
WEBSITE_REWRITE_TABLE 唯讀。 在執行階段用來適當地查閱和重寫連線。
WEBSITE_VNET_ROUTE_ALL 根據預設,如果您使用區域虛擬網路整合,您的應用程式只會將符合RFC1918的流量路由傳送到虛擬網路。 設定為 1,以將所有輸出流量路由到您的虛擬網路,並適用相同的網路安全群組和使用者定義的路由。 此設定可讓您透過虛擬網路存取非RFC1918端點、保護離開應用程式的所有輸出流量,以及強制將所有輸出流量傳送至您自己選擇的網路設備。
WEBSITE_PRIVATE_IP 唯讀。 與與 虛擬網路整合之應用程式相關聯的IP位址。 針對區域虛擬網路整合,此值是來自委派子網位址範圍的IP。 針對需要閘道的虛擬網路整合,此值是來自虛擬網路閘道上所設定點對站位址集區位址範圍的 IP。

應用程式會使用此IP透過虛擬網路連線到資源。 此外,它可以在描述的位址範圍內變更。
WEBSITE_PRIVATE_PORTS 唯讀。 在虛擬網路整合中,顯示應用程式可用來與其他節點通訊的埠。
WEBSITE_CONTENTOVERVNET 如果您要在 App Service 上掛接 Azure 檔案共用,而儲存體帳戶受限於虛擬網路,請將此設定的值設定為 1 來啟用該設定。

金鑰保存庫參考

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

設定名稱 描述
WEBSITE_KEYVAULT_REFERENCES 唯讀。 包含目前在應用程式中設定之所有金鑰保存庫參考的資訊(包括狀態)。
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 如果您將應用程式的共用儲存體連線 (使用 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING) 設定為金鑰保存庫參考,如果下列其中一個條件為真,應用程式就無法在應用程式建立或更新時解析金鑰保存庫參考:

- 應用程式會使用系統指派的身分識別來存取金鑰保存庫。
- 應用程式會使用使用者指派的身分識別來存取金鑰保存庫,而金鑰保存庫 會以虛擬網路鎖定

若要避免在建立或更新時發生錯誤,請將此變數設為 1
WEBSITE_DELAY_CERT_DELETION 設定此環境變數可確保工作進程所依賴的憑證在進程結束之前不會被刪除。

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 舊版 Mobile Apps 整合的設定。 將值設定為 true 可以解決使用者變更其個人資料資訊時,為已驗證使用者生成的安全性標識可能會變更的問題。

變更此值可能會導致現有的 Azure Mobile Apps 使用者標識碼變更。 大部分的應用程式不需要使用此設定。
WEBSITE_AUTH_NONCE_DURATION hours:minutes:seconds形式的時間範圍值。 預設值為 00:05:00,或 5 分鐘。 此設定可控制為所有使用瀏覽器進行的登入所產生的 加密隨機數 的有效期限。如果登入在指定時間內無法完成,系統將自動重試登入流程。

此應用程式設定適用於 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失敗,否則不應該將此值設定為

此應用程式設定適用於 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 唯讀。 您對 X-IDENTITY-HEADER 進行 HTTP GET 要求時必須新增至 IDENTITY_ENDPOINT 標頭的值。 平臺會旋轉數值。
MSI_SECRET 已棄用。 使用 IDENTITY_HEADER

健康情況檢查

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

設定名稱 描述
WEBSITE_HEALTHCHECK_MAXPINGFAILURES 移除執行個體之前失敗的 Ping 次數上限。 設為 210 之間的值。 在擴大或擴增時,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 建立的檔案。 WebJob 程式有責任偵測此檔案是否存在並起始關機。 當您使用 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 套件快取。