Azure Container Apps中Envoy与容器应用HTTPS连接配置咨询
Azure Container Apps:Envoy Ingress与容器HTTPS端点的TLS连接配置
核心逻辑说明
Azure Container Apps的HTTP类型Ingress(基于Envoy代理)会在入口处终止客户端的TLS连接,随后向容器应用发起新的内部连接。当容器内应用使用HTTPS端点时,需通过配置让Envoy与后端建立TLS通信,并按需信任自定义CA签发的证书。
配置操作指南(Azure门户 + Azure CLI)
1. 启用后端TLS并指定目标端口
首先要将Ingress的目标端口指向容器的HTTPS服务端口,同时开启后端TLS功能:
Azure门户操作步骤
- 进入目标Container App的配置页面,找到Ingress设置模块
- 在目标端口输入框中填写容器HTTPS服务的端口(例如443)
- 开启后端TLS开关
- 若容器证书由自定义CA签发,在CA证书字段上传PEM格式的CA证书文件
Azure CLI命令示例
使用az containerapp update命令完成配置:
az containerapp update \ --name <你的容器应用名称> \ --resource-group <资源组名称> \ --ingress-target-port 443 \ --ingress-backend-tls enabled \ --ingress-backend-tls-ca-certificate @/本地CA证书文件路径/ca-cert.pem
2. 信任自定义CA证书
如果容器应用的HTTPS证书由非公共信任的CA签发,必须将该CA的证书上传至Container App的Ingress配置,否则Envoy会拒绝与后端建立TLS连接:
- 证书必须为PEM格式(后缀为
.pem或.crt),若存在中间CA需包含完整证书链 - 门户端直接上传证书文件即可;CLI端通过
--ingress-backend-tls-ca-certificate参数指定本地文件路径(前缀@表示读取本地文件)
关键注意事项
- 若后端使用公共信任CA(如Let's Encrypt)签发的证书,开启后端TLS后无需额外上传CA证书,Envoy默认信任公共根CA
- 需确保容器应用的HTTPS证书域名与内部访问域名匹配(通常为容器应用的内部FQDN或localhost,依服务配置而定)
- 配置完成后可通过Container App的日志查看Envoy的连接状态,验证TLS通信是否正常
内容的提问来源于stack exchange,提问作者manish vishnoi
相关产品推荐
相关产品推荐

