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

Azure App Service容器8080端口HTTP探测失败问题求助

排查Linux版Azure App Service部署.NET Core应用启动失败的步骤

针对你遇到的「Application Error」和503错误,结合日志显示容器未响应8080端口的情况,按以下步骤排查:

  • 查看容器内部详细启动日志
    进入Azure门户的App Service,选择日志 > 容器日志,这里会显示.NET应用启动时的具体报错信息(比如依赖缺失、配置错误、代码异常等),这是定位根因最直接的方式——当前日志仅提示端口未响应,未说明应用启动失败的具体原因。

  • 确认应用监听端口配置
    检查应用代码中的端口监听逻辑:

    • 对于.NET 6+项目,确保Program.cs中使用环境变量获取端口,而非硬编码:
      var builder = WebApplication.CreateBuilder(args);
      var port = Environment.GetEnvironmentVariable("PORT") ?? "8080";
      builder.WebHost.ConfigureKestrel(options =>
      {
          options.ListenAnyIP(int.Parse(port));
      });
      // 后续代码...
      
    • 若使用appsettings.json配置端口,需确保配置值与App Service的PORT环境变量一致。
  • 验证部署包完整性

    • 确认本地发布的是Release版本,而非Debug版本,且发布包包含所有必要的依赖文件(可本地运行发布后的dotnet YourApp.dll,验证应用能否正常启动)。
    • 若使用CI/CD工具(如GitHub Actions、Azure DevOps)部署,检查部署脚本是否正确复制了所有发布文件到App Service。
  • 检查App Service运行时配置
    进入App Service的配置 > 常规设置:

    • 确认.NET运行时版本设置为ASP.NET Core 6.0(与你的应用版本匹配)。
    • 若设置了自定义启动命令,确保命令正确(比如dotnet YourApp.dll,需保证路径和文件名与部署包一致;若无特殊需求,可留空使用默认启动逻辑)。
  • 通过SSH登录容器手动排查
    进入App Service的开发工具 > SSH,点击「进入」登录容器:

    • 运行echo $PORT和echo $WEBSITES_PORT,确认环境变量是否正确生效。
    • 进入应用目录(通常为/home/site/wwwroot),执行dotnet YourApp.dll,查看控制台输出的具体错误。
    • 运行netstat -tulpn,检查8080端口是否被占用,或应用是否真的在监听该端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:27:37