You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过应用网关实现私有VNET中容器应用的子域名映射公网暴露

实现通配符域名自动映射到Azure Container Apps的解决方案

核心思路

利用Application Gateway的主机头重写和通配符监听器功能,将任意*.mydomain.com的请求自动转换为对应的*.env.containerapps.io请求转发至ACA环境,无需为每个应用单独配置后端池和监听器。

具体配置步骤

  • 1. 创建通配符多站点监听器
    在Application Gateway中新建多站点HTTPS监听器,配置如下:

    • 前端IP配置:选择已创建的静态公网IP
    • 端口:443
    • 主机名:*.mydomain.com
    • SSL证书:绑定已上传的*.mydomain.com通配符自签名证书
  • 2. 构建统一后端池
    新建后端池,直接添加ACA环境的ILB静态IP作为后端目标(无需为每个应用单独创建池)。确保Application Gateway所在子网与ACA的私有VNET存在网络连通性(同VNET或已配置VNET对等)。

  • 3. 配置路由规则与主机头重写(关键)
    创建路由规则关联上述监听器和后端池,重点在后端设置中配置主机头重写:

    1. 新建后端设置,协议选择HTTP(因无需端到端加密),端口设为80
    2. 在“主机头”选项中选择自定义,并输入表达式:
      @{split(http.host, '.')[0]}.env.containerapps.io
      
      该表达式会自动提取请求主机头的子域名前缀(如app1从app1.mydomain.com),拼接为ACA环境对应的子域名
    3. 无需勾选“从后端地址选取主机名”,直接使用自定义重写的主机头
  • 4. 配置健康探针
    新建自定义HTTP探针,配置如下:

    • 主机名:填写任意一个可用的ACA应用子域名(如app1.env.containerapps.io)
    • 路径:/
    • 端口:80
      将探针关联到上述后端设置,确保Application Gateway能正常检测后端健康状态
  • 5. 配置公网DNS解析
    在mydomain.com的DNS服务商控制台,添加通配符A记录:

    • 记录类型:A
    • 主机记录:*
    • 指向地址:Application Gateway的静态公网IP

注意事项

  • 确保ACA环境的访问限制允许来自Application Gateway所在子网的流量,可在ACA应用的“网络”设置中添加AG子网的IP范围
  • 若客户端访问时出现证书信任问题,可将自签名证书导入客户端信任存储(生产环境建议使用CA签发证书)
  • 验证配置时,可使用curl -v https://app2.mydomain.com查看请求头中的主机头是否被正确重写

内容的提问来源于stack exchange,提问作者Abraham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:27:44