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

Azure Web App部署成功但访问URL无法打开,如何诊断排查?

问题:ASP.NET Core应用部署Azure App Service成功但无法访问

上下文信息

  • Web App URL:https://filesharing-webapp-gge6g3ayehg6fafc.eastus-01.azurewebsites.net
  • App Service计划:Basic B1
  • 部署状态:Azure门户部署日志显示成功
  • Web App状态:门户显示"运行中"
  • Kudu控制台:无法访问(对应SCM URL同样报错)

已排查内容

  • 部署日志:无错误,显示成功
  • App Service日志:无法流式传输,门户提示"无法打开与应用的连接"
  • 访问限制:未设置IP或访问限制规则
  • 环境变量:已配置与开发环境匹配的变量,本地Visual Studio按F5运行正常
  • Kudu控制台:无法访问,推测存在应用或环境层面基础问题

当前使用的GitHub Actions构建配置

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core app to Azure Web App - filesharing-webapp

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up .NET Core
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '8.x'

      - name: Build with dotnet
        run: dotnet build --configuration Release

      - name: List contents of GITHUB_WORKSPACE
        run: dir $GITHUB_WORKSPACE

      # Use $GITHUB_WORKSPACE to explicitly tell the build agent where the csproj is located.
      - name: dotnet publish
        run: dotnet publish -c Release -o $GITHUB_WORKSPACE\myapp

      - name: List contents of GITHUB_WORKSPACE after publish
        run: dir $GITHUB_WORKSPACE

      - name: List contents of myapp directory after publish
        run: dir $GITHUB_WORKSPACE\myapp

      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v4
        with:
          name: .net-app
          path: D:\myapp

  deploy:
    runs-on: windows-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
    permissions:
      id-token: write  # This is required for requesting the JWT

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v4
        with:
          name: .net-app
          path: D:\myapp

      - name: Login to Azure
        uses: azure/login@v2
        with:
          client-id: azure id redact
          tenant-id: tenat id redact 
          subscription-id: sub id redact

      - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v3
        with:
          app-name: 'filesharing-webapp'
          slot-name: 'Production'
          package: .

诊断步骤与建议

1. 修复GitHub Actions部署路径错误

从配置看,构建和部署阶段的文件路径存在明显问题:

  • 构建阶段dotnet publish将文件输出到$GITHUB_WORKSPACE\myapp,但上传artifact时指定的是D:\myapp,路径不匹配导致上传的是空目录或错误文件
  • 部署阶段下载artifact到D:\myapp,但部署命令package: .指向runner默认工作目录,而非下载的文件目录
    修正方案:
    • 上传artifact时改为:path: ${{ github.workspace }}/myapp
    • 部署阶段修改部署命令:package: D:\myapp

2. 验证App Service启动命令

ASP.NET Core应用在Azure上需要匹配的启动命令:

  • 进入Web App「配置」→「常规设置」,检查「启动命令」:
    • 框架依赖型部署需设置为dotnet <你的应用程序集名称>.dll(可通过本地发布目录确认.dll文件名)
    • 自包含部署无需额外命令,但需确保平台位数(32/64位)与发布配置一致

3. 核对运行时配置

  • 确认「配置」→「常规设置」中的.NET版本为8.x,与本地开发环境一致
  • 检查平台设置(32位/64位)是否和本地发布配置匹配

4. 强制重启App Service

即使状态显示运行中,部署后的应用可能未正确加载:

  • 在Azure门户点击Web App的「重启」按钮,等待完成后再次尝试访问

5. 提取离线诊断日志

若日志流无法连接,可开启离线日志记录:

  • 进入「日志」→「应用日志记录」,选择文件系统或Blob存储开启日志,重启应用后查看存储中的日志文件
  • 使用Azure CLI命令拉取日志:az webapp log tail --name filesharing-webapp --resource-group <你的资源组名称>

6. 手动验证发布包

排除GitHub Actions的问题:

  • 本地执行dotnet publish -c Release,在发布目录运行dotnet <程序集>.dll,确认本地可正常访问
  • 通过Azure门户「部署中心」→「高级工具」→「Zip部署」手动上传本地发布包,部署后测试访问

7. 检查区域服务状态

确认Azure East US区域是否存在服务中断,查看官方状态页面确认服务可用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:47:10