將現有的自訂網域對應至 Azure Spring 應用程式
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於: ✔️ Java ✔️ C#
本文適用於: ✔️ 標準 ✔️ 企業
功能變數名稱服務 (DNS) 是在整個網路中儲存網路節點名稱的技術。 本文會使用 CNAME 記錄來對應網域,例如 www.contoso.com
。 它會使用憑證保護自定義網域,並示範如何強制執行傳輸層安全性 (TLS),也稱為安全套接字層 (SSL)。
憑證會加密 Web 流量。 這些 TLS/SSL 憑證可以儲存在 Azure 金鑰保存庫。
必要條件
- Azure 訂用帳戶。 如果您沒有訂用帳戶,請先建立免費帳戶,再開始操作。
- (選擇性) Azure CLI 2.45.0 版或更高版本。 使用下列命令,以安裝 Azure Spring 應用程式延伸模組:
az extension add --name spring
- 部署至 Azure Spring Apps 的應用程式(請參閱快速入門:使用 Azure 入口網站 啟動 Azure Spring Apps 中的現有應用程式,或使用現有的應用程式)。 如果您的應用程式是使用基本方案部署,請務必升級至標準方案。
- 具有網域提供者 DNS 登錄存取權的功能變數名稱,例如 GoDaddy。
- 來自第三方提供者的私人憑證(也就是自我簽署憑證)。 憑證必須符合網域。
- Azure 金鑰保存庫 的已部署實例。 如需詳細資訊,請參閱關於 Azure Key Vault (機器翻譯)。
金鑰保存庫 私人鏈接考慮
Azure Spring Apps 管理的 IP 位址尚未屬於 Azure 受信任的 Microsoft 服務。 因此,若要讓 Azure Spring Apps 從受私人端點聯機保護 金鑰保存庫 載入憑證,您必須將下列 IP 位址新增至 Azure 金鑰保存庫 防火牆:
20.99.204.111
20.201.9.97
20.74.97.5
52.235.25.35
20.194.10.0
20.59.204.46
104.214.186.86
52.153.221.222
52.160.137.39
20.39.142.56
20.199.190.222
20.79.64.6
20.211.128.96
52.149.104.144
20.197.121.209
40.119.175.77
20.108.108.22
102.133.143.38
52.226.244.150
20.84.171.169
20.93.48.108
20.75.4.46
20.78.29.213
20.106.86.34
20.193.151.132
匯入憑證
PFX 中準備您的憑證檔案(選擇性)
Azure 金鑰保存庫 支援以 PEM 和 PFX 格式匯入私人憑證。 如果您從憑證提供者取得的 PEM 檔案無法在 [金鑰保存庫 的儲存憑證] 區段中運作,請遵循這裡的步驟來產生適用於 Azure 金鑰保存庫 的 PFX。
合併中繼憑證
如果您的證書頒發機構單位在憑證鏈結中提供多個憑證,您必須依序合併憑證。
若要執行這項工作,請開啟您在文字編輯器中收到的每個憑證。
建立合併憑證的檔案,稱為 mergedcertificate.crt。 在文字編輯器中,將每個憑證的內容複製到此檔案中。 憑證的順序應該遵循憑證鏈結中的順序,從您的憑證開始,並以跟證書結尾。 它看起來像下列範例:
-----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 產生憑證要求,則您已建立私鑰檔案。 若要將憑證導出至 PFX,請執行下列命令。 將佔位元 private-key-file 和 merged-certificate-file>> 取代為您的私鑰和<合併憑證檔案的路徑。<
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
出現提示時,請定義匯出密碼。 稍後將 TLS/SSL 憑證上傳至 Azure 金鑰保存庫 時,請使用此密碼。
如果您使用 IIS 或 Certreq.exe 產生憑證要求,請將憑證安裝至本機計算機,然後將 憑證導出至 PFX。
將憑證儲存在 金鑰保存庫
匯入憑證的程式需要 PEM 或 PFX 編碼的檔案位於磁碟上,而且您必須具有私鑰。
使用下列步驟將憑證上傳至金鑰儲存庫:
授與 Azure Spring Apps 金鑰保存庫的存取權
匯入憑證之前,您必須將密鑰保存庫的存取權授與 Azure Spring Apps。
使用下列步驟,使用 Azure 入口網站 授與存取權:
將憑證匯入至 Azure Spring Apps
使用下列步驟匯入憑證:
前往您的 Azure Spring 應用程式執行個體。
從瀏覽窗格中,選取 [TLS/SSL 設定]。
選取 [ 匯入金鑰保存庫憑證]。
在 [從 Azure 選取憑證] 頁面上,從下拉式選項選取 [訂用帳戶]、[金鑰保存庫] 和 [憑證],然後選擇 [選取]。
在開啟的 [設定憑證名稱] 頁面上,輸入您的憑證名稱 ,視需要選取 [ 啟用自動同步 處理],然後選取 [ 套用]。 如需詳細資訊,請參閱 自動同步處理憑證 一節。
成功匯入憑證時,它會顯示在私鑰憑證清單中。
重要
若要使用此憑證保護自定義網域,請務必將憑證系結至特定網域。 如需詳細資訊,請參閱 新增 SSL 系結 一節。
自動同步憑證
儲存在 Azure 金鑰保存庫 中的憑證有時會在到期前更新。 同樣地,貴組織用於憑證管理的安全策略可能需要 DevOps 小組定期以新的憑證取代憑證。 啟用憑證的自動同步處理之後,Azure Spring Apps 會開始定期同步處理新版的密鑰保存庫,通常是每隔 24 小時。 如果有新版本可用,Azure Spring Apps 會匯入它,然後使用憑證為各種元件重載它,而不會造成任何停機時間。 下列清單顯示受影響的元件和相關案例:
- 應用程式
- 自訂網域
- VMware Spring Cloud Gateway
- 自訂網域
- VMware Tanzu 的 API 入口網站
- 自訂網域
- VMware Tanzu 應用程式加速器
- 使用自我簽署憑證連線到 Git 存放庫。
- Tanzu 的應用程式組態服務
- 使用自我簽署憑證連線到 Git 存放庫。
當 Azure Spring Apps 匯入或重載憑證時,會產生活動記錄檔。 若要查看活動記錄,請流覽至 Azure 入口網站 中的 Azure Spring Apps 實例,然後在瀏覽窗格中選取 [活動記錄]。
注意
憑證自動同步處理功能適用於從 Azure 金鑰保存庫 匯入的私人憑證和公開憑證。 客戶上傳的內容憑證無法使用此功能。
當您將憑證從金鑰保存庫匯入至 Azure Spring Apps 時,您可以啟用或停用憑證自動同步處理功能。 如需詳細資訊,請參閱 將憑證匯入至 Azure Spring Apps 一節。
您也可以針對已匯入至 Azure Spring Apps 的憑證啟用或停用此功能。
使用下列步驟來啟用或停用匯入憑證的自動同步處理:
新增自訂網域
您可以使用 CNAME 記錄將自訂 DNS 名稱對應至 Azure Spring Apps。
注意
不支援 A 記錄。
建立 CNAME 記錄
移至您的 DNS 提供者,並新增 CNAME 記錄,以將網域對應至 <service-name>.azuremicroservices.io
。 <service-name>
以下是 Azure Spring Apps 實例的名稱。 我們支援通配符網域和子網域。
新增 CNAME 之後,DNS 記錄頁面會類似下列範例:
將自定義網域對應至 Azure Spring Apps 應用程式
如果您沒有 Azure Spring Apps 中的應用程式,請遵循快速入門:將第一個應用程式部署至 Azure Spring Apps 中的指示。
使用下列步驟將自訂網域與應用程式系結:
移至應用程式頁面。
選取 [自定義網域]。
選取 [ 新增自定義網域]。
輸入您新增 CNAME 紀錄的完整功能變數名稱,例如
www.contoso.com
。 請確定 [主機名] 記錄類型設定為 CNAME -<service-name>.azuremicroservices.io
。選取 [驗證 ] 以啟用 [ 新增 ] 按鈕。
選取 [新增]。
一個應用程式可以有多個網域,但一個網域只能對應至一個應用程式。 當您成功將自定義網域對應至應用程式時,它會顯示在自定義網域數據表上。
注意
自定義網域的 「不安全」標籤表示尚未系結至SSL憑證。 從瀏覽器到自定義網域的任何 HTTPS 要求都會收到錯誤或警告。
新增 SSL 系結
使用下列步驟來更新應用程式的自訂網域:
在自定義網域數據表中,選取 [新增 ssl 系結 ],如上圖所示。
選取您的 憑證 或匯入憑證。
選取儲存。
成功新增 SSL 系結之後,網域狀態就會安全: 狀況良好。
強制使用 HTTPS
根據預設,任何人都可以使用 HTTP 存取您的應用程式,但您可以將所有 HTTP 要求重新導向至 HTTPS 連接埠。
在您的應用程式頁面中,在導覽中,選取 [ 自定義網域]。 然後,將 [僅限 HTTPS] 設定為 Yes
。
作業完成時,流覽至指向您應用程式的任何 HTTPS URL。 請注意,HTTP URL 無法運作。