Azure Application Gateway配置:如何将/与/*路由至不同后端池?
问题分析与解决方案
核心原因
Azure应用网关的路由规则遵循优先级从高到低的匹配逻辑,当你添加了/*通配符路由后,如果它的优先级高于/、/favicon.ico这类精确路径路由,网关会优先匹配/*,导致特定路径的路由规则被覆盖。
可行配置方法
要实现需求,关键是调整路由规则的优先级,让精确路径的路由优先级高于通配符路由:
- 创建后端池:分别为存储账户和函数应用创建独立的后端池。
- 配置路由规则:
- 针对
/、/favicon.ico创建精确路径匹配的路由规则,设置更高的优先级(数值越小优先级越高,比如设为100)。 - 针对
/*创建通配符路径匹配的路由规则,设置更低的优先级(比如设为200)。
- 针对
- 验证匹配逻辑:网关会先检查请求是否匹配
/或/favicon.ico,匹配成功则转发到存储账户;否则再匹配/*转发到函数应用。
注意事项
- 路径匹配区分大小写,确保配置的路径和实际请求路径一致。
- 存储账户作为后端时,需确保已配置静态网站托管,且应用网关有权限访问存储账户(可通过服务端点或公网访问配置)。
内容的提问来源于stack exchange,提问作者JuliusMoehring
相关产品推荐
相关产品推荐

