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

Azure中将两个App Service映射到单个DNS的实现方案

嗨,这个需求完全可以通过Azure的两种主流流量路由服务来实现,不用折腾虚拟目录,下面给你拆解两种实操性强的方案:

方案一:使用Azure Front Door(推荐,适合全球分布式访问场景)

Front Door是Azure的全球CDN+负载均衡服务,非常适合需要跨区域访问优化的场景,步骤如下:

  • 创建Front Door实例,在前端主机名处配置www.example.com,完成后把你的域名DNS记录(CNAME)指向Front Door分配的默认域名(比如xxx.azurefd.net)
  • 添加两个后端池:
    • 后端池1:选择你的UI App Service,设置优先级为1、权重为100(默认配置即可,按需调整)
    • 后端池2:选择你的API App Service,同样配置优先级和权重
  • 配置路由规则:
    • 第一条规则:路径匹配设置为/ui/*,路由到UI后端池,关键要开启路径重写,设置为/{remainingPath}——这样用户访问www.example.com/ui/page1时,Front Door会把请求转发给UI服务的/page1,自动去掉/ui前缀
    • 第二条规则:路径匹配设置为/api/*,路由到API后端池,同样设置路径重写为/{remainingPath}
    • 可选默认规则:如果用户直接访问www.example.com,可以配置重定向到/ui,或者直接转发到UI服务
  • 启用HTTPS:在Front Door的自定义域名配置里,给www.example.com开启HTTPS,可以选择Azure管理的证书(省心)或者上传自己的SSL证书
方案二:使用Azure Application Gateway(适合区域内访问,侧重内网/精细流量管控)

如果你的用户主要集中在某个Azure区域,Application Gateway是更适合的区域级负载均衡方案,步骤如下:

  • 创建Application Gateway实例,选择公共IP作为前端IP,配置80和443端口的前端监听,把www.example.com绑定到监听上
  • 配置后端池:分别添加UI和API的App Service作为后端目标,注意要确保App Service的访问限制允许Application Gateway的IP(或者暂时放开“允许所有网络”,配置完成后再收紧)
  • 配置请求路由规则:
    • 规则1:路径匹配为/ui/*,转发到UI后端池,开启路径重写为/{remainingPath}
    • 规则2:路径匹配为/api/*,转发到API后端池,同样设置路径重写
    • 默认规则:将根路径/*转发到UI服务,或者重定向到/ui
  • 配置HTTPS:上传你的SSL证书到Application Gateway,绑定到443端口的监听
  • DNS配置:把www.example.com的A记录指向Application Gateway的公共IP

关键注意事项

  • 两种方案都不需要在App Service里配置虚拟目录,路径重写会自动剥离前缀后转发给后端服务
  • 要确保你的UI和API App Service本身可以通过默认域名正常访问,这样后端健康探测才能正常通过
  • HTTPS配置是必要的,现在主流生产环境都要求加密访问,两种服务都支持Azure托管证书,不用自己维护证书续期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:26:07