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

配置Application Gateway调用Linux App Service时出现404问题求助

解决方案

针对你遇到的Linux App Service下Application Gateway路径转发404问题,可从以下几个方面调整:

1. 配置Application Gateway路径重写规则

只设置override backend path为/无法处理带子路径的请求(比如/api/get-data),需要启用路径重写功能:

  • 在对应的路由规则中,添加路径重写配置:
    • 匹配路径:/api/*
    • 重写目标:/{R:1}
      这个规则会把/api/xxx这类请求的路径转换为/xxx转发给Backend服务,适配服务的根路由。
  • 确保路由规则的路径匹配模式设为Prefix(前缀匹配),而不是Exact(精确匹配),这样能覆盖所有/api开头的子路径。

2. 确认Backend App Service的路由配置

Linux App Service没有虚拟目录选项,所以Backend服务本身必须适配根路径请求:

  • 如果是Node.js(Express):确保路由定义是app.get('/', ...)而不是app.get('/api', ...);若框架有路由前缀配置,要去掉/api前缀。
  • 如果是Python(Flask/Django):检查项目的根URL配置,确保没有硬编码/api作为路由前缀。
  • 直接访问Backend的默认域名(如backend.azurewebsites.net/xxx)验证服务是否能正常响应根路径下的请求,排除服务自身的路由问题。

3. 检查健康探针配置

Application Gateway的健康探针如果指向错误路径,会导致Backend被标记为不健康,流量无法正确转发:

  • 针对Backend服务器池的健康探针,设置路径为Backend服务实际存在的健康检查路径(比如/health或根路径/)。
  • 确保探针的协议(HTTP/HTTPS)、端口与Backend服务的配置一致。

4. 额外验证步骤

  • 暂时停掉Frontend服务,单独测试mysite.com/api是否能正常访问Backend,排除Frontend路由拦截/api路径的可能。
  • 检查Gateway的监听与后端协议:如果使用HTTPS,确认监听端口、证书与Backend服务的HTTPS配置匹配,避免协议不兼容导致的隐性错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:25:18