新部署Azure Web App运行正常但访问返回404错误,如何排查?
Azure Web App部署ASP.NET Core Web API返回404排查指南
订阅影响确认
Azure免费订阅不会触发服务运行正常时返回404错误,免费层仅限制实例算力、月度流量、每日运行时长,只要Portal显示服务处于运行状态,即可排除订阅层级的问题。
核心排查项
- 根路径访问问题:ASP.NET Core Web API默认不会响应根路径
/的请求,你当前访问的是站点根地址https://tigrinyadictionary-api.azurewebsites.net/,返回404属于常见情况,可尝试拼接你配置的业务接口路由,或者默认Swagger路径/swagger测试访问。 - Terraform部署配置错误:检查你的Terraform中Web App资源的配置项:
- 若为Windows托管,确认虚拟应用的物理路径指向包含
web.config的部署包根目录 - 若为Linux托管,确认启动命令配置为
dotnet <你的项目主dll文件名>.dll,同时检查WEBSITE_RUN_FROM_PACKAGE应用配置是否正确指向部署包地址
- 若为Windows托管,确认虚拟应用的物理路径指向包含
- 应用代码路由配置错误:检查项目启动文件
Program.cs的中间件顺序是否正确,示例正确配置如下:app.UseRouting(); app.UseAuthorization(); app.MapControllers(); // 若需要生产环境访问Swagger,不要将Swagger相关配置包裹在if (app.Environment.IsDevelopment())判断中 app.UseSwagger(); app.UseSwaggerUI(); - 应用启动异常排查:Azure Portal显示的运行状态仅代表服务实例正常运行,不代表你的应用代码成功启动。可进入Web App的Kudu高级工具,查看
LogFiles/Application目录下的应用日志,确认是否有启动异常报错。

内容的提问来源于stack exchange,提问作者kiflay
相关产品推荐
相关产品推荐

