Azure Application Gateway v2 路径重写规则配置问题咨询
Azure Application Gateway v2 路径处理解决方案
方案1:路径规则直接配置重定向(优先推荐,无需修改现有HTTP设置)
该方案直接从路由层处理请求,完全避开共用HTTP设置的限制,可实现/myapplication/[任意后缀]自动跳转至/function/[对应后缀],所有动态路径、查询参数都会完整保留,配置步骤如下:
- 进入应用网关的「路由规则」页面,找到绑定
mywebsite.it对应监听器、包含/function*和/myapplication*两个路径映射的基础路由规则 - 编辑路径映射列表,找到匹配
/myapplication*的路径条目:- 将原来的「目标类型」从「后端池」修改为「重定向」
- 重定向类型按需选择
301(永久移动)或302(临时移动) - 重定向目标类型选择「同一监听器」
- 同时勾选「包含路径」和「包含查询字符串」
- 路径输入框填写
/function/{path}
- 保存配置等待生效即可,无需调整原有
/function*的路径规则和共用HTTP设置。
方案2:内部路径重写(浏览器地址栏不变,仅后端转发路径修改)
如果你不需要浏览器地址栏发生变化,希望路径修改完全在网关转发阶段内部完成,可采用重写规则加自定义请求头的方案,兼容已开启的后端路径覆盖配置:
- 进入应用网关「重写规则」页面,新建重写规则集,将规则集关联到你现有的绑定webapp2的路径路由规则
- 新建重写规则,优先级设置为10(数值越小优先级越高):
- 匹配条件:
- 匹配类型:
请求URI - 运算符:
等于(忽略大小写) - 匹配模式启用正则,填写
^/myapplication/(.*)$
- 匹配类型:
- 重写操作1(修改转发路径):
- 重写类型:
URI - 重写组件:
路径 - 操作类型:
集 - 路径值:
/function/{var_uri_path_1}
- 重写类型:
- 重写操作2(规避后端路径覆盖影响):
- 重写类型:
请求头 - 操作类型:
集 - 标头名称:
X-Forwarded-Request-Path(可自定义,和后端应用约定一致即可) - 标头值:
/function/{var_uri_path_1}
- 重写类型:
- 匹配条件:
- 在webapp2中添加路径识别逻辑,优先读取
X-Forwarded-Request-Path头作为请求路径处理即可。
生效验证
配置保存后应用网关通常需要1-5分钟完成部署,验证时清空浏览器缓存后访问/myapplication/下的任意路径,确认路径处理符合预期即可。
内容的提问来源于stack exchange,提问作者Emanuele
相关产品推荐
相关产品推荐

