共用方式為


新增和管理 Azure App Service 中的 TLS/SSL 憑證

注意

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

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

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

您可以新增數位安全性憑證來用於應用程式程式碼中或保護 Azure App Service 中的自訂 DNS 名稱,以提供可高度調整、自我修補的虛擬主機服務。 目前稱為傳輸層安全性 (TLS) 憑證,先前又稱為安全通訊端層 (SSL) 憑證,這些私人或公開憑證透過加密您的瀏覽器、您所瀏覽的網站及網站伺服器之間傳送的資料,來協助您保護網際網路連線。

下表列出可供您在 App Service 中新增憑證的選項:

選項 描述
建立免費 App Service 受控憑證 免費又易於使用的私人憑證 (如果您在 App Service 中只需要保護自訂網域)。
匯入 App Service 憑證 Azure 所管理的私人憑證。 這兼具自動化憑證管理的簡便,以及續約和匯出選項的彈性。
從 Key Vault 匯入憑證 如果您使用 Azure Key Vault 管理您的 PKCS12 憑證,這會很有用。 請參閱私人憑證需求
上傳私人憑證 如果您已有第三方提供者的私人憑證,可以上傳該憑證。 請參閱私人憑證需求
上傳公開憑證 公開憑證不是用來保護自訂網域,但如果您需要用它們來存取遠端資源,可以將其載入至程式碼。

必要條件

一私人憑證需求

免費 App Service 受控憑證App Service 憑證已經符合 App Service 的需求。 如果您選擇將私人憑證上傳或匯入至 App Service,您的憑證就必須符合下列需求:

  • 匯出為受密碼保護的 PFX 檔案 (以三重 DES 加密)。
  • 包含長度至少 2048 位元的私密金鑰
  • 包含憑證鏈結中的所有中繼憑證和根憑證。

若要保護 TLS 繫結中的自訂網域,此憑證還有其他需求:

注意

橢圓曲線密碼編譯 (ECC) 憑證適用於 App Service,但不在本文討論範圍內。 如需建立 ECC 憑證的確切步驟,請洽詢您的憑證授權單位。

注意

將私人憑證新增至應用程式之後,憑證會儲存在系結至App Service方案資源群組、區域和操作系統組合的部署單位中,內部稱為 webspace。 如此一來,相同資源群組、區域和OS組合中的其他應用程式即可存取憑證。 會與相同部署單位中的 App Services 共用上傳或匯入至 App Service 的私人憑證。

每個 Webspace 最多可新增 1000 個私人憑證。

建立免費的受控憑證

免費 App Service 受控憑證為現成的解決方案,可在 App Service 中保護您的自訂 DNS 名稱。 不需要您採取任何動作,此 TLS/SSL 伺服器憑證完全由 App Service 管理,只要設定的必要條件維持不變,則在到期前的 45 天會以六個月為單位持續自動更新。 所有相關聯的繫結都隨著更新的憑證而更新。 您只要建立憑證並繫結至自訂網域,其餘工作就交給 App Service。

重要

建立免費的受控憑證之前,請確定應用程式已符合必要條件

免費憑證由 DigiCert 所發行。 針對某些網域,您必須建立值為 0 issue digicert.comCAA 網域記錄,以明確允許 DigiCert 作為憑證簽發者。

Azure 會代表您完全管理憑證,因此可以隨時變更受控憑證的任何層面,包括根憑證簽發者。 這些變更不在您的控制範圍內。 請務必避免硬式相依性,以及將練習憑證「釘選」到受控憑證或憑證階層的任何部分。 如果您需要憑證釘選行為,請使用本文的任何其他可用方法,將憑證新增至自訂網域。

免費憑證有下列限制:

  • 不支援萬用字元憑證。
  • 不支援使用憑證指紋作為用戶端憑證的使用方式,此方式已規劃將淘汰和移除。
  • 不支援私人 DNS。
  • 無法匯出。
  • App Service 環境 (ASE) 不支援。
  • 僅支援英數字元、連字號 (-) 和句號 (.)。
  • 僅支援長度最多 64 個字元的自訂網域。
  • A 記錄必須指向 Web 應用程式的 IP 位址。
  • 在非公開存取的應用程式上不支援。
  • 在與流量管理員整合的根網域上不支援。
  • 必須符合以上所有條件,才能成功發行和更新憑證。
  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

  2. 在應用程式的導覽功能表上,選取 [憑證]。 在 [受控憑證] 窗格中,選取 [新增憑證]

    應用程式功能表的螢幕快照,其中已選取 [憑證]、[受控憑證] 和 [新增憑證]。

  3. 選取免費憑證的自訂網域,然後選取 [驗證]。 驗證完成時,選取 [新增]。 您只能為每個支援的自訂網域建立一個受控憑證。

    當作業完成時,憑證會出現在 [受控憑證] 清單中。

    [受控憑證] 窗格的螢幕快照,其中列出新建立的憑證。

  4. 若要使用此憑證保護自訂網域,您仍然必須建立憑證繫結。 請遵循在 Azure App Service 中使用 TLS/SSL 繫結保護自訂 DNS 名稱中的步驟。

匯入 App Service 憑證

若要匯入 App Service 憑證,請先購買並設定 App Service 憑證,然後遵循此處的步驟。

  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

  2. 從應用程式的導覽功能表中,選取 [憑證]> [攜帶您自己的憑證 (.pfx)]> [新增憑證]

  3. 在 [來源] 中,選取 [匯入 App Service 憑證]

  4. 在 [App Service 憑證] 中,選取您剛才建立的憑證。

  5. 在 [憑證自訂名稱] 中,為應用程式中的憑證指定名稱。

  6. 選取驗證。 驗證成功時,請選取 [新增]

    應用程式管理頁面的螢幕快照,其中已選取 [憑證]、[攜帶您自己的憑證 (.pfx)] 和 [匯入 App Service 憑證],以及已完成的 [新增私鑰憑證] 頁面與 [驗證] 按鈕。

    當作業完成時,憑證會出現在 [攜帶您自己的憑證] 清單中。

    [攜帶您自己的憑證 (.pfx)] 窗格的螢幕快照,其中已列出已購買的憑證。

  7. 若要使用此憑證保護自訂網域,您仍然必須建立憑證繫結。 請遵循在 Azure App Service 中使用 TLS/SSL 繫結保護自訂 DNS 名稱中的步驟。

從 Key Vault 匯入憑證

如果您使用 Azure Key Vault 管理憑證,則可以在符合需求時,將 PKCS12 憑證從 Key Vault 匯入到 App Service。

授權 App Service 從保存庫讀取

根據預設,App Service 資源提供者無法存取您的金鑰保存庫。 若要使用金鑰保存庫進行憑證部署,您必須授權資源提供者對金鑰保存庫的讀取權限

注意

目前,Azure 入口網站 不允許您在 金鑰保存庫 中設定 App Service 憑證以使用 RBAC 模型。 不過,您可以使用 Azure CLI、Azure PowerShell 或 ARM 範本部署來執行此設定。 如需詳細資訊,請參閱使用 Azure 角色型訪問控制來提供 金鑰保存庫 金鑰、憑證和秘密的存取權。

資源提供者 服務主體 AppId 金鑰保存庫祕密權限 金鑰保存庫憑證權限 金鑰保存庫 RBAC 許可權
Microsoft Azure App ServiceMicrosoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd,所有 Azure 訂用帳戶都相同

- 針對 Azure Government 雲端環境,請使用 6a02c803-dafd-4136-b4c3-5a6f318b4714
Get Get 憑證使用者
Microsoft.Azure.CertificateRegistration Get
清單​​
設定
刪除
Get
清單​​

將憑證從您的保存庫匯入到您的應用程式

  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

  2. 從應用程式的導覽功能表中,選取 [憑證]> [攜帶您自己的憑證 (.pfx)]> [新增憑證]

  3. 在 [來源] 中,選取 [從 Key Vault 匯入]

  4. 選取 [選取 Key Vault 憑證]

    應用程式管理頁面的螢幕快照,其中已選取 [憑證]、[攜帶您自己的憑證(.pfx)] 和 [從 金鑰保存庫 匯入]

  5. 為了協助您選取憑證,請使用下表:

    設定 描述
    訂用帳戶 與金鑰保存庫相關聯的訂閱。
    Key vault 具有您想要匯入之憑證的金鑰保存庫。
    [MSSQLSERVER 的通訊協定內容] 從此清單,選取位於保存庫中的 PKCS12 憑證。 保存庫中所有的 PKCS12 憑證會連同其指紋一併列出,但在 App Service 中並非皆受到支援。
  6. 完成選取後,選取 [選取]、[驗證],然後選取 [新增]

    當作業完成時,憑證會出現在 [攜帶您自己的憑證] 清單中。 如果匯入失敗並發生錯誤,則表示憑證不符合 App Service 的需求

    [攜帶您自己的憑證 (.pfx)] 窗格的螢幕快照,其中已列出已匯入的憑證。

    注意

    如果您以新憑證更新 Key Vault 中的憑證,App Service 會在 24 小時內自動同步憑證。

  7. 若要使用此憑證保護自訂網域,您仍然必須建立憑證繫結。 請遵循在 Azure App Service 中使用 TLS/SSL 繫結保護自訂 DNS 名稱中的步驟。

上傳私人憑證

從憑證提供者取得憑證之後,請遵循本節中的步驟,讓憑證可用於 App Service。

合併中繼憑證

如果憑證授權單位在憑證鏈結中提供多個憑證,您必須遵循相同順序合併憑證。

  1. 在文字編輯器中,開啟每個收到的憑證。

  2. 若要儲存合併的憑證,請建立名為 mergedcertificate.crt 的檔案。

  3. 將每個憑證的內容複製到這個檔案中。 請務必遵循憑證鏈結所指定的憑證順序,從您的憑證開始,並以根憑證結尾,例如:

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

將合併的私人憑證匯出至 PFX

現在,您可以透過用來產生憑證要求的私密金鑰,匯出合併的 TLS/SSL 憑證。 如果您是使用 OpenSSL 產生憑證要求,則已建立私密金鑰檔案。

注意

OpenSSL v3 會將預設加密方式從 3DES 變更為 AES256,但可以在命令列 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1 上覆寫。 OpenSSL v1 使用 3DES 作為預設值,因此不需要進行任何特殊修改,系統即可支援所產生的 PFX 檔案。

  1. 若要將憑證匯出至 PFX 檔案,請執行下列命令,但以私密金鑰與合併的憑證檔案路徑來取代預留位置 <private-key-file><merged-certificate-file>

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. 出現提示時,請指定匯出作業的密碼。 當您稍後將 TLS/SSL 憑證上傳至 App Service 時,您必須提供此密碼。

  3. 如果您使用 IIS 或 Certreq.exe 產生憑證要求,請將憑證安裝至本機電腦,然後將憑證匯出至 PFX 檔案

上傳憑證至 App Service

您現在已準備好將憑證上傳至 App Service。

  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

  2. 從應用程式的導覽功能表中,選取 [憑證]> [攜帶您自己的憑證 (.pfx)]> [上傳憑證]

    已選取 [憑證]、[攜帶您自己的憑證 (.pfx)]、[上傳憑證] 的螢幕快照。

  3. 為了協助您上傳 .pfx 憑證,請使用下表:

    設定 描述
    PFX 憑證檔案 選取您的 .pfx 檔案。
    憑證密碼 輸入您匯出 PFX 檔案時所建立的密碼。
    憑證自訂名稱 將在 Web 應用程式中顯示的憑證名稱。
  4. 完成選取後,選取 [選取]、[驗證],然後選取 [新增]

    當作業完成時,憑證會出現在 [攜帶您自己的憑證] 清單中。

    [攜帶您自己的憑證] 窗格的螢幕快照,其中已列出上傳的憑證。

  5. 若要使用此憑證保護自訂網域,您仍然必須建立憑證繫結。 請遵循在 Azure App Service 中使用 TLS/SSL 繫結保護自訂 DNS 名稱中的步驟。

上傳公開憑證

公開憑證支援 .cer 格式。

注意

將公開憑證上傳至應用程式之後,其只能由上傳所在的應用程式存取。 公開憑證必須上傳至每個需要存取權的個別 Web 應用程式。 如需 App Service 環境特定案例,請參閱憑證和 App Service 環境的文件

每個 App Service 方案最多可以上傳 1000 個公開憑證。

  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

  2. 從應用程式的導覽功能表中,選取 [憑證]> [公開金鑰憑證 (.cer)]> [新增憑證]

  3. 為了協助您上傳 .cer 憑證,請使用下表:

    設定 描述
    CER 憑證檔案 選取您的 .cer 檔案。
    憑證自訂名稱 將在 Web 應用程式中顯示的憑證名稱。
  4. 完成後,選取 [新增]

    要上傳的名稱和公鑰憑證螢幕快照。

  5. 上傳憑證之後,請複製憑證指紋,然後檢閱使憑證可供存取

更新即將到期的憑證

請務必在憑證到期之前,將更新的憑證新增至App Service,並更新其流程相依於憑證類型的任何憑證繫結。 例如,從 Key Vault 匯入的憑證 (包括 App Service 憑證) 每 24 小時自動同步至 App Service,並在您更新憑證時更新 TLS/SSL 繫結。 對於上傳的憑證,不會自動更新繫結。 根據您的案例,檢閱對應的章節:

更新上傳的憑證

取代即將到期的憑證時,您以新憑證更新憑證繫結的方式,可能對使用者體驗造成負面影響。 例如,刪除繫結時,即使該繫結以 IP 為基礎,輸入 IP 位址仍有可能變更。 當您更新已在以 IP 為基礎之繫結中的憑證時,此結果的影響會特別高。 為了避免應用程式的 IP 位址變更,並避免應用程式因為 HTTPS 錯誤而當掉,請依指定順序遵循下列步驟:

  1. 上傳新憑證

  2. 移至應用程式的 [自訂網域] 頁面,選取 [...] 動作按鈕,然後選取 [更新繫結]

  3. 選取新的憑證,然後選取 [更新]

  4. 刪除現有的憑證。

更新從 Key Vault 匯入的憑證

注意

若要更新 App Service 憑證,請參閱更新 App Service 憑證

若要更新您從 Key Vault 匯入至 App Service 的憑證,請檢閱更新 Azure App Service 憑證

在金鑰保存庫中更新憑證之後,App Service 會在 24 小時內自動同步新的憑證,並更新任何適用的憑證繫結。 若要手動同步,請遵循下列步驟:

  1. 移至您應用程式的 [憑證] 頁面。

  2. 在 [攜帶您自己的憑證 (.pfx)] 底下,選取已匯入金鑰保存庫憑證的 [...] 詳細資料按鈕,然後選取 [同步處理]

常見問題集

如何將「攜帶您自己的憑證」自動新增至應用程式?

我可以在我的應用程式上設定私人 CA 憑證嗎?

App Service 有一份受信任的根憑證清單,您無法在 App Service 的多租用戶變體版本中修改,但您可以在 App Service 環境 (ASE) 的受信任根存放區中載入自己的 CA 憑證,這是 App Service 中的單一租用戶環境。 (免費、基本、標準和進階 App Service 方案都是多租用戶,而隔離方案則為單一租用戶。)

更多資源