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

Azure Zip部署Angular应用与API后接口404问题求助

解决Azure Web App中Angular应用API接口404的问题

虚拟路径配置

方法1:通过Azure门户配置

  1. 登录Azure门户,进入目标Web App资源
  2. 左侧导航栏选择「配置」→「路径映射」
  3. 在「虚拟应用程序和目录」区域点击「添加虚拟应用程序」
  4. 填写以下信息:
    • 虚拟路径:/some.app.here
    • 物理路径:site\wwwroot\Some.App.Here
    • 勾选「应用程序」选项(关键:API需作为独立应用程序运行,而非静态内容目录)
  5. 保存配置,等待Web App重启生效

方法2:通过web.config配置(适用于ASP.NET/ASP.NET Core API)

若API为ASP.NET Core项目,可在Some.App.Here目录下修改或添加web.config,确保请求能被正确路由:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="ASP.NET Core" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="." />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </location>
</configuration>

同时确保API项目的Program.cs中已正确启用控制器路由:

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
});

文件夹大小写问题

  • 若Web App运行在Linux环境:Linux文件系统大小写敏感,请求路径中的some.app.here与实际文件夹Some.App.Here大小写不匹配会直接触发404,此时需将文件夹重命名为小写some.app.here,或调整Angular应用的API请求路径以匹配文件夹大小写。
  • 若为Windows环境:默认大小写不敏感,大小写差异不会导致404,但建议保持路径与文件夹名称一致,避免后续部署或环境切换时出现问题。

额外排查要点

  • 验证API路由配置:检查控制器类上的[Route]属性,比如是否设置为[Route("api/[controller]")],确保完整请求路径/some.app.here/api/{controller_name}能匹配到对应控制器。
  • 检查启动命令:若为ASP.NET Core应用,确认Web App的启动命令指向正确的程序集,比如dotnet Some.App.Here.dll(框架依赖部署时需配置)。
  • 查看错误日志:在Azure门户的「日志流」中查看404错误的详细信息,确认是路径不存在还是应用程序内部路由问题,帮助精准定位。

内容的提问来源于stack exchange,提问作者Juliyanage Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:00:21