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

如何通过Azure应用程序网关将所有流量路由到指定站点路径

问题根因

你出现重定向次数过多的核心原因是配置重写/重定向规则时没有添加路径前缀判断逻辑,导致已经带有/us前缀的请求仍会被重复添加前缀,形成/→/us→/us/us→/us/us/us的无限循环。

配置方案

首先根据你的业务需求选择以下两类配置:

场景1:地址栏不改变,仅后端App Service接收路径自动追加/us前缀(URL重写)

进入美国区应用网关的「重写规则」功能,按如下规则配置:

  • 新建重写规则集,关联到当前绑定stackoverflow.devops.com域名的路由规则
  • 新增重写规则,设置优先级为10
  • 首先添加触发条件,仅路径不带有/us前缀时才执行重写:
    • 条件类型:服务器变量
    • 服务器变量:request_uri
    • 运算符:不匹配
    • 模式:^/us(/.*)?$
    • 取消勾选「区分大小写」
  • 配置重写动作:
    • 重写类型:URL
    • 操作:重写
    • URL路径:/us{var_request_uri}
    • 勾选「保留查询字符串」
  • 保存规则后等待网关配置生效即可。

场景2:地址栏显示/us前缀,客户端可见路径变更(URL重定向)

优先使用路由规则的重定向动作实现,无需配置重写规则:

  • 进入美国区应用网关的「路由规则」页面
  • 新建第一条路由规则,优先级设为10:
    • 绑定当前stackoverflow.devops.com对应的监听器
    • 匹配路径:/us/*
    • 后端目标:选择你共用的App Service后端池
    • HTTP设置:使用你原有正常可用的HTTP配置(确保主机名重写为stackoverflow.devops.com和后端App Service匹配)
  • 新建第二条路由规则,优先级设为20:
    • 绑定相同的监听器
    • 匹配路径:/*
    • 动作类型:重定向
    • 重定向类型:测试阶段选302临时重定向,确认生效后可改为301永久重定向
    • 目标协议:与原始请求一致
    • 主机名:填写stackoverflow.devops.com
    • 路径:填写/us{path}
    • 勾选「附加查询字符串」
  • 保存规则后等待网关生效即可。
注意事项
  • 配置前确认后端App Service没有额外的路径重定向规则,避免和应用网关规则冲突
  • 测试时可执行curl -I https://stackoverflow.devops.com查看返回头,/请求的响应头Location应为/us路径,/us路径的请求应返回200状态码,不会出现多次重定向。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:30:04