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

ASP.NET Core Web API部署到AWS Elastic Beanstalk返回404 Not Found求助

问题排查与解决方案

核心问题定位

  • Swagger仅开发环境启用:你当前Startup.cs的Configure方法中,UseSwagger与UseSwaggerUI中间件完全包裹在if (env.IsDevelopment())判断分支内,AWS Elastic Beanstalk默认将ASPNETCORE_ENVIRONMENT环境变量设为Production,因此生产环境不会加载Swagger相关中间件,访问/swagger路径直接返回404。
  • launchSettings.json仅本地生效:该文件是Visual Studio/本地开发时的配置文件,部署到服务器后完全不会读取,你在文件中配置的环境变量、启动地址、默认跳转路径都不会在生产环境生效。
  • 根路径无默认路由:你当前没有配置根路径的处理逻辑,直接访问域名根地址也会返回404。

解决步骤

  1. 先验证服务本身是否正常
    不要访问根路径或/swagger,直接调用你实际开发的业务接口完整路径,例如http://你的域名/api/[ControllerName],如果接口能正常返回数据,说明服务部署本身没有问题,只是Swagger和默认路由的配置问题。

  2. 配置生产环境可用Swagger(可选)
    如果需要生产环境也可以访问Swagger页面,有两种可选方案:

  • 方案1:将Swagger中间件移出开发环境判断,修改Configure方法代码:
// 先注册Swagger中间件,不再限制仅开发环境可用
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "TodoApi v1"));

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
  • 方案2:在Elastic Beanstalk控制台手动设置环境变量:
    进入你的Elastic Beanstalk环境 → 配置 → 软件 → 环境属性,新增配置项:ASPNETCORE_ENVIRONMENT = Development,保存后环境会自动重启,重启后即可正常访问Swagger页面。
  1. 配置根路径默认跳转(可选)
    如果需要访问根路径自动跳转到Swagger页面,可添加重定向中间件:
    首先引用命名空间using Microsoft.AspNetCore.Rewrite;,之后在Configure方法开头添加如下代码:
app.UseRewriter(new RewriteOptions()
    .AddRedirect("^$", "swagger"));
  1. 检查生产环境配置项
    进入Elastic Beanstalk环境的环境属性配置页,确认你代码中用到的所有配置项都已正确配置,包括:
  • JWT:ValidAudience
  • JWT:ValidIssuer
  • JWT:Secret
    避免服务启动时因为缺失配置项抛出异常,导致请求返回404。
  1. 端口监听配置(可选)
    如果按照上述步骤操作后仍然返回404,可在项目根目录新增web.config文件,配置IIS反向代理规则:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\ShopApiNet5.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
  </system.webServer>
</configuration>

重新打包部署即可。

内容的提问来源于stack exchange,提问作者Sergey Mkrtumyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:06:03