Azure应用网关基于路径路由配置异常,部分容器路由失败求助
Azure应用网关路径路由配置排查问题
已为部署两个容器的Azure容器应用配置Application Gateway并设置基于路径的路由,但访问http://98.64.93.3/container2时出现错误,container1可正常路由。后续调整配置,将默认后端池改为container4后,网关IP可正常跳转至该容器,但访问/container4/时仍报错。容器镜像及后端健康状态均无异常(显示绿色)。
相关截图
- 报错截图:

- 路径路由配置截图:

- 默认池调整截图:

- container4访问报错截图:

排查方向
- 路径重写配置:检查对应路由规则是否开启路径重写。如果容器应用的服务根路径是
/,网关路由路径是/container2或/container4/,必须把路径重写为/,否则容器会接收带前缀的路径,若应用无对应路由就会报错。从路径配置截图确认是否勾选“重写路径”并设置为/。 - 路由规则优先级:确保
/container2、/container4/这类路径路由的规则优先级高于默认规则。如果默认规则优先级更高,会优先匹配默认后端池,导致路径路由不生效。 - 后端设置匹配性:确认后端池对应的后端设置(HTTP/HTTPS端口、协议)和容器应用的监听端口完全一致。健康状态正常不代表端口匹配,端口错配会导致访问失败。
- 路径匹配类型:检查路径匹配是“精确匹配”还是“前缀匹配”。如果是精确匹配
/container2,访问带斜杠的/container2/会不匹配;如果用前缀匹配,需确认是否设置为/container2/*这类带通配符的格式。 - 容器内部路由:确认容器内的应用是否支持带前缀的路径访问。如果应用只监听根路径
/,没有配置/container2相关路由,就必须通过网关的路径重写把请求路径转为/才能正常访问。
内容的提问来源于stack exchange,提问作者Vaibhav Mittal
相关产品推荐
相关产品推荐

