當您部署容器化應用程式時,通常會使用 HTTPS 通訊協定進行加密、安全的通訊。 安全通訊是由傳輸層安全性 (TLS) 實作,它會使用安全套接字層 (SSL) 取代先前的方法。
先決條件
- Docker Desktop 或 Podman Desktop 。
- Visual Studio 或 Podman 支援的 Visual Studio 2026,已安裝 ASP.NET 和 Web 開發、 Azure 開發 工作負載和/或 .NET 桌面開發 工作負載。
先決條件
- Docker Desktop。
- Visual Studio 已安裝 ASP.NET 和 Web 開發、 Azure 開發 工作負載和/或 .NET 桌面開發 工作負載。
開發測試憑證
在開發期間,Visual Studio 會使用自我簽署憑證,有時稱為 devtest 憑證。 第一次在本機計算機上啟動應用程式時,系統會提示您信任憑證的提示。 這適用於開發和測試,但當您部署至 Azure 並在自定義網域上公開應用程式時,您必須切換至證書頒發機構單位 (CA) 所簽發的憑證,無論是 Azure 或第三方 CA。
Azure 中的部署選項安全性
許多 Azure 服務都會自動處理憑證管理來簡化設定和管理負擔。 在 Azure 中設定容器 TLS 的組態和程式取決於您部署的服務。
一般而言,Azure 服務可以支持多種取得和儲存憑證的方式。 您可以從 Azure 自己的證書頒發機構單位 (CA) 取得受信任的憑證,或上傳第三方 CA 所簽發的私人信任憑證。 您可以使用服務自己的證書存儲,或使用 Azure Key Vault 來儲存憑證,以及其他秘密。
下表顯示的服務包含了說明當您部署至這些服務時 HTTPS 安全性運作方式的連結,以及管理憑證的指南。
| Azure 服務 | 筆記 |
|---|---|
| Azure 應用程式服務 | Azure App Service 是適用於單一容器的合適部署服務,可提供預設體驗,這表示您使用 Azure 所提供的受信任憑證取得安全端點,而不會產生任何額外的額外負荷。 若要獲得更大的控制,您可以選擇多個選項來取得和儲存憑證。 您可以使用從第三方 CA 取得的自有信任憑證,而不是 Azure 所提供的預設信任憑證。 您可以選擇性地將憑證儲存在 Azure Key Vault 中。 請參閱 App Service TLS 概觀。 |
| Azure Container Apps(Azure 容器應用) | Azure Container Apps 是適合使用一或多個容器的容器化應用程式裝載服務。 如同 Azure App Service,它提供預設體驗,其會自動使用受信任的 Azure 提供的憑證,但也提供一系列網路架構選項來支援不同的案例。 請參閱 Azure Container Apps 中的網路功能。 |
| Azure 容器實例 | 若要為載入於 Azure 容器實例中的容器設定 HTTPS 公用端點,請參閱 在 sidecar 容器中啟用 TLS 端點。 此選項會將對容器本身的影響降到最低。 |
| Azure Kubernetes Service (AKS) | 請參閱 AKS 檔中的 指引,以設定輸入叢集的 TLS。 AKS 提供最先進的管理功能、處理憑證輪替和更新,具有最大的彈性。 |
| Azure 服務 | 筆記 |
|---|---|
| Azure 應用程式服務 | Azure App Service 是適用於單一容器的合適部署服務,可提供預設體驗,這表示您使用 Azure 所提供的受信任憑證取得安全端點,而不會產生任何額外的額外負荷。 若要獲得更大的控制,您可以選擇多個選項來取得和儲存憑證。 您可以使用從第三方 CA 取得的自有信任憑證,而不是 Azure 所提供的預設信任憑證。 您可以選擇性地將憑證儲存在 Azure Key Vault 中。 請參閱 App Service TLS 概觀。 |
| Azure Container Apps(Azure 容器應用) | Azure Container Apps 是適合使用一或多個容器的容器化應用程式裝載服務。 如同 Azure App Service,它提供預設體驗,其會自動使用受信任的 Azure 提供的憑證,但也提供一系列網路架構選項來支援不同的案例。 請參閱 Azure Container Apps 中的網路功能。 |
| Azure 容器實例 | 若要為載入於 Azure 容器實例中的容器設定 HTTPS 公用端點,請參閱 在 sidecar 容器中啟用 TLS 端點。 此選項會將對容器本身的影響降到最低。 |
| Service Fabric(服務結構) | 請參閱 Service Fabric 應用程式和服務安全性。 您通常會設定反向 Proxy 來處理傳入要求的安全性。 請參閱 Azure Service Fabric 中的反向 Proxy。 |
| Azure Kubernetes Service (AKS) | 請參閱 AKS 檔中的 指引,以設定輸入叢集的 TLS。 AKS 提供最先進的管理功能、處理憑證輪替和更新,具有最大的彈性。 |
多個容器的網路安全性選項
如果您的情境涉及多個容器,您可以選擇僅保護進入的網路流量(即在對外的負載均衡器或反向代理處),或者您可以在應用程式中每個容器之間實現安全通信。 第二個選項為系統更深層層提供安全性,即使外部層有缺口也一樣。 針對所有容器對容器通訊使用 HTTPS 超出本文的範圍。
針對 Azure Container Apps,您可以設定針對外部呼叫端使用 HTTPS 的輸入,並在多個容器的網路內,使用 HTTP 或 TCP。 為了實現容器之間的安全通訊,您可以使用 mTLS(雙向 TLS),這種技術需要在請求的用戶端和伺服器雙方都提供憑證,或者在微服務之間進行憑證驗證。 請參閱 azure Container Apps 中的 輸入 和 在 Azure Container Apps中設定用戶端憑證驗證。