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

Azure App Service通过VNet集成访问API被阻,Kudu控制台却正常

问题原因及解决方案

核心原因是请求发起的主体不同:

  • Kudu控制台中的请求,是由前端App Service的服务器(处于VNet子网10.0.0.0/24内,IP为10.0.0.x)直接发起的,通过VNet内网解析后端域名到私有IP10.0.1.x,符合后端的访问规则,所以能正常返回内容。
  • 前端应用通过Axios发起的请求,实际是由访问前端的用户浏览器(处于公网环境)发起的。浏览器会直接解析后端域名的公网IP,请求从公网IP发出,被后端的“阻止公网访问”规则拦截,因此返回403 IP FORBIDDEN。

解决方法

方法1:通过前端App Service做反向代理

配置前端App Service将后端请求转发到内网地址,让请求从前端App Service服务器(VNet内)发起:

  1. 在前端App Service的web.config(Windows环境)或.htaccess(Linux环境)中添加反向代理规则,将/api这类后端请求路径转发到https://[backend-app].azurewebsites.net。
  2. 修改前端代码,将请求路径改为相对路径(比如/api/xxx),而非直接写后端的完整域名。

方法2:使用Azure服务实现内网访问路由

如果需要更复杂的路由或安全控制,可选择:

  • Azure Front Door:配置Front Door作为前端和后端的统一入口,让Front Door通过私有端点访问后端,前端用户通过Front Door调用后端接口。
  • Azure API Management:将后端接口发布到APIM,通过APIM的VNet集成访问后端私有端点,前端调用APIM的公开地址即可。

额外检查点

  • 确认前端App Service的VNet集成设置为**“路由所有出站流量到虚拟网络”**,确保服务器端发起的所有请求都走VNet内网。
  • 排查前端代码是否硬编码了后端的公网地址,若有则替换为相对路径或代理路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:07:56