App Service 環境的自訂組態設定

概觀

因為 App Service 環境對單一客戶是隔離的,所以有某些專門套用到 App Service 環境的組態設定。 本文記錄各種可供 App Service 環境使用的特定自訂。

注意

本文涵蓋與 App Service 隔離 v2 方案搭配使用的 App Service 環境 v3 功能、優點和使用案例。

如果您沒有 App Service 環境,則請參閱如何建立 App Service 環境 v3

您可以使用新 clusterSettings 屬性的陣列儲存 App Service 環境自訂。 這個屬性是在 hostingEnvironments Azure Resource Manager 實體的「屬性」字典中找到的。

下列縮寫的 Resource Manager 範本程式碼片段顯示 clusterSettings 屬性︰

"resources": [
{
    "apiVersion": "2021-03-01",
    "type": "Microsoft.Web/hostingEnvironments",
    "name": ...,
    "location": ...,
    "properties": {
        "clusterSettings": [
            {
                "name": "nameOfCustomSetting",
                "value": "valueOfCustomSetting"
            }
        ],
        "internalLoadBalancingMode": ...,
        etc...
    }
}

clusterSettings 屬性可以包含在 Resource Manager 範本中,以更新 App Service 環境。

使用 Azure 資源總管更新 App Service 環境

或者,您可以使用 Azure 資源總管更新 App Service 環境。

  1. 在 [資源總管] 中,移至 App Service 環境的節點 ([訂用帳戶] > [{您的訂用帳戶}] > [resourceGroups] > [{您的資源群組}] > [提供者] > [Microsoft.Web] > [hostingEnvironments])。 接著,按一下您想要更新的特定 App Service 環境。
  2. 按一下右窗格上方工具列中的 [讀取/寫入] ,允許在資源總管中進行互動式編輯。
  3. 按一下藍色的 [編輯] 按鈕,開放編輯 Resource Manager 範本。
  4. 向下捲動到右窗格底部。 clusterSettings 屬性位在最底部,您可以在此輸入或更新其值。
  5. 輸入 (或複製並貼上) 您希望 clusterSettings 屬性出現的組態值陣列。
  6. 按一下右窗格上方的綠色 [PUT] 按鈕,確認 App Service 環境的變更。

不過,您提交變更時不會立即變更,而且變更最多可能需要 24 小時才會生效。 某些設定具有設定特定設定的時間和影響的特定詳細數據。

啟用內部加密

App Service 環境會以黑箱系統的方式運作,您看不到內部元件或系統內的通訊。 若要達到更高的輸送量,內部元件之間預設不會啟用加密。 系統是安全的,因為流量無法存取,因此不會進行監視或存取。 如果您有合規性需求,但需要從端對端完整加密資料路徑,則可以使用 clusterSetting 來啟用完整加密資料路徑的加密。

"clusterSettings": [
    {
        "name": "InternalEncryption",
        "value": "true"
    }
],

將 InternalEncryption 設定為 true,會加密 App Service 環境中前端與背景工作角色之間的內部網路流量、加密分頁檔,同時加密背景工作角色磁碟。 啟用 InternalEncryption clusterSetting 之後,可能會對系統效能造成影響。 當您進行變更以啟用 InternalEncryption 時,您的 App Service 環境將會處於不穩定的狀態,直到變更完全傳播為止。 根據您 App Service 環境中的執行個體數目,變更的完整傳播可能需要幾小時才能完成。 強烈建議您不要在使用中的 App Service 環境上啟用 InternalEncryption。 如果您需要在主動使用的 App Service 環境上啟用 InternalEncryption,強烈建議您將流量轉向備份環境,直到作業完成為止。

停用 TLS 1.0 和 TLS 1.1

如果您想要依照應用程式基礎來管理應用程式的 TLS 設定,您可以使用強制使用 TLS 設定文件所提供的指導方針。

如果您想要停用 App Service 環境中所有應用程式的所有輸入 TLS 1.0 和 TLS 1.1 流量,您可以設定下列 clusterSettings 項目:

"clusterSettings": [
    {
        "name": "DisableTls1.0",
        "value": "1"
    }
],

設定的名稱指出 1.0,但若已設定,它會同時停用 TLS 1.0 與 TLS 1.1。

變更 TLS 加密套件順序

App Service 環境支援變更加密套件預設值。 預設的加密集是多租用戶服務中所使用的相同集合。 變更加密套件會影響整個 App Service 部署,因此只能在單一租用戶 App Service 環境中執行此作業。 App Service 環境需要兩個加密套件:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 和 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。 如果您想要使用最強且最少的加密套件集來操作 App Service 環境,則請只使用這兩個必要加密。 若要將 App Service 環境設定為只使用所需的加密,請修改 clusterSettings,如下所示。

"clusterSettings": [
    {
        "name": "FrontEndSSLCipherSuiteOrder",
        "value": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
    }
],

警告

如果對安全通道無法了解的加密套件設定了不正確的值,對您的伺服器的所有 TLS 通訊可能會停止運作。 在這種情況下,您必須從 clusterSettings 移除 FrontEndSSLCipherSuiteOrder 項目,並提交更新的 Resource Manager 範本以還原回預設的加密套件設定。 請謹慎使用這項功能。

開始使用

Azure 快速入門 Resource Manager 範本網站包含具有 建立 App Service 環境基本定義的範本。