你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为应用程序启用入口到应用 TLS
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:❎ 基本计划 ✅ 标准计划 ✅ 企业计划
注意
此功能在基本计划中不可用。
本文介绍 Azure Spring Apps 中的安全通信。 本文还说明如何启用入口到应用 SSL/TLS,以保护从入口控制器到支持 HTTPS 的应用程序的流量。
下图显示了 Azure Spring Apps 中的总体安全通信支持。
Azure Spring Apps 中的安全通信模型
本部分说明上述概览图中所示的安全通信模型。
客户端请求(从客户端到 Azure Spring Apps 中的应用程序)进入入口控制器。 请求可以是 HTTP 或 HTTPS。 入口控制器返回的 TLS 证书由 Microsoft Azure TLS 证书颁发机构颁发。
如果应用已映射到现有的自定义域,并且仅配置为 HTTPS,则对入口控制器的请求只能是 HTTPS。 入口控制器返回的 TLS 证书是该自定义域的 SSL 绑定证书。 自定义域的服务器端 SSL/TLS 验证是在入口控制器中完成的。
入口控制器与 Azure Spring Apps 中的应用程序之间的安全通信由入口到应用 TLS 控制。 还可以通过门户或 CLI 控制通信,本文稍后将对此进行说明。 如果禁用入口到应用 TLS,则入口控制器与 Azure Spring Apps 中的应用之间的通信使用 HTTP。 如果启用了入口到应用 TLS,则通信将使用 HTTPS,并且与客户端和入口控制器之间的通信无关。 入口控制器不会验证从应用返回的证书,因为入口到应用 TLS 会加密通信。
应用与 Azure Spring Apps 服务之间的通信始终使用 HTTPS,且由 Azure Spring Apps 处理。 此类服务包括配置服务器、服务注册表和 Eureka 服务器。
管理应用程序之间的通信。 还可以利用 Azure Spring Apps 功能将证书加载到应用程序的信任存储中。 有关详细信息,请参阅在应用程序中使用 TLS/SSL 证书。
管理应用程序和外部服务之间的通信。 要减少开发工作量,可使用 Azure Spring Apps 帮助管理公共证书并将其加载到应用程序的信任存储中。 有关详细信息,请参阅在应用程序中使用 TLS/SSL 证书。
为应用程序启用入口到应用 TLS
下一节介绍如何启用入口到应用 SSL/TLS,以保护从入口控制器到支持 HTTPS 的应用程序的流量。
先决条件
- 部署的 Azure Spring Apps 实例。 按有关如何通过 Azure CLI 进行部署的快速入门操作即可入门。
- 如果不熟悉入口到应用 TLS,请参阅端到端 TLS 示例。
- 若要安全地将所需证书加载到 Spring Boot 应用中,可以使用 spring-cloud-azure-starter-keyvault-certificates。
在现有应用上启用入口到应用 TLS
使用命令 az spring app update --enable-ingress-to-app-tls
为应用启用或禁用入口到应用 TLS。
az spring app update --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
az spring app update --enable-ingress-to-app-tls false -n app_name -s service_name -g resource_group_name
绑定自定义域后,启用入口到应用 TLS
使用命令 az spring app custom-domain update --enable-ingress-to-app-tls
或 az spring app custom-domain bind --enable-ingress-to-app-tls
,为应用启用或禁用入口到应用 TLS。
az spring app custom-domain update --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
az spring app custom-domain bind --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
使用 Azure 门户启用入口到应用 TLS
要在 Azure 门户中启用入口到应用 TLS,请首先创建一个应用,然后启用该功能。
- 按常规在门户中创建应用。 在门户中导航到该应用。
- 在左侧导航窗格中向下滚动到“设置”组。
- 选择“入口到应用 TLS”。
- 将“入口到应用 TLS”切换为“是”。
验证入口到应用 TLS 状态
使用命令 az spring app show
来检查 enableEndToEndTls
的值。
az spring app show -n app_name -s service_name -g resource_group_name