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

您可以新增數位安全性憑證,以在應用程式程式代碼中使用,或保護 Azure App 服務 中的自定義 DNS 名稱,以提供高度可調整的自我修補 Web 主機服務。 目前稱為傳輸層安全性 (TLS) 憑證,也稱為安全套接字層 (SSL) 憑證,這些私人或公用憑證可透過加密瀏覽器、您瀏覽的網站和網站伺服器之間傳送的數據,協助您保護因特網連線。

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

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

必要條件

一私人憑證需求

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

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

若要保護 TLS 系結中的自定義網域,憑證有更多需求:

注意

橢圓曲線密碼編譯 (ECC) 憑證 適用於App Service,但本文並未涵蓋。 如需建立 ECC 憑證的確切步驟,請與您的證書頒發機構單位合作。

注意

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

每個 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 個字元的自訂網域。
  • 必須有指向 Web 應用程式 IP 位址的 A 記錄。
  • 在無法公開存取的應用程式上不支援。
  • 與 流量管理員整合的根域不支援。
  • 必須符合上述所有專案,才能成功發行和更新憑證。
  1. Azure 入口網站中,從左側功能表選取 [應用程式服務]><app-name>>

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

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

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

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

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

  4. 若要使用此憑證保護自定義網域,您仍然需要建立憑證系結。 請遵循在 Azure App 服務 中使用 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 服務 中使用 TLS/SSL 系結保護自定義 DNS 名稱中的步驟。

從 Key Vault 匯入憑證

如果您使用 Azure 金鑰保存庫 來管理憑證,您可以視需要從 金鑰保存庫 將 PKCS12 憑證匯入 App Service。

授權 App Service 從保存庫讀取

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

注意

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

資源提供者 服務主體 AppId 金鑰保存庫祕密權限 金鑰保存庫憑證許可權
Microsoft Azure App 服務Microsoft.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. 在 [來源] 中,選取 [從 金鑰保存庫 匯入]。

  4. 選取 [ 選取金鑰保存庫憑證]。

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

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

    設定 描述
    訂用帳戶 與金鑰保存庫相關聯的訂用帳戶。
    Key vault 具有您要匯入之憑證的金鑰保存庫。
    [MSSQLSERVER 的通訊協定內容] 從此清單中,選取保存庫中的 PKCS12 憑證。 保存庫中的所有 PKCS12 憑證都會以其指紋列出,但 App Service 不支援所有憑證。
  6. 完成選取后,請選取 [選取]、[驗證],然後選取 [新增]。

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

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

    注意

    如果您使用新的憑證更新 金鑰保存庫 中的憑證,App Service 會在 24 小時內自動同步您的憑證。

  7. 若要使用此憑證保護自定義網域,您仍然需要建立憑證系結。 請遵循在 Azure App 服務 中使用 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 服務 中使用 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,並更新程式相依於憑證類型的任何憑證系結。 例如,從 金鑰保存庫 匯入的憑證,包括 App Service 憑證,每 24 小時自動同步至 App Service,並在您更新憑證時更新 TLS/SSL 系結。 對於上傳的憑證,沒有自動系結更新。 根據您的案例,檢閱對應的區段:

更新上傳的憑證

當您取代過期的憑證時,以新憑證更新憑證系結的方式可能會對用戶體驗造成負面影響。 例如,當您刪除系結時,您的輸入IP位址可能會變更,即使該系結是以IP為基礎也一樣。 當您更新已在IP型系結中的憑證時,此結果特別有影響。 若要避免應用程式 IP 位址的變更,以及避免因 HTTPS 錯誤而造成應用程式的停機時間,請依照指定的順序遵循下列步驟:

  1. 上傳新的憑證

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

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

  4. 刪除現有的憑證。

更新從 金鑰保存庫 匯入的憑證

注意

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

若要從 金鑰保存庫 更新您匯入至 App Service 的憑證,請檢閱更新您的 Azure 金鑰保存庫 憑證

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

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

  2. 在 [攜帶您自己的憑證 ][pfx]下,選取匯入密鑰保存庫憑證的 ...詳細數據按鈕,然後選取 [同步]。

常見問題集

如何自動將自備憑證新增至應用程式?

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

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

更多資源