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

Azure静态Web应用部署失败:InternalServerError问题求助

Azure Static Web Apps 部署持续遭遇 InternalServerError 问题求助

背景

待部署应用为极简测试项目:Azure DevOps仓库中包含ng new生成的默认Angular前端模板,以及VS Code Azure Functions扩展生成的默认Azure Functions API项目,完全遵循Angular部署为Azure SWA的基础步骤。多次尝试部署均失败,持续收到InternalServerError提示,已重试超过24小时未解决。

本地测试情况

使用Azure Static Web App CLI测试时,项目可正常运行。SWA CLI生成的swa-cli.config.json配置如下:

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "test-app": {
      "appLocation": "source\\test-app",
      "apiLocation": "functions",
      "outputLocation": "dist\\test-app",
      "appBuildCommand": "npm run build",
      "apiBuildCommand": "dotnet publish -c Release",
      "run": "npm start",
      "appDevserverUrl": "http://localhost:4200"
    }
  }
}

执行swa start后,localhost:4280可正常加载Angular应用,localhost:7071/api/TestRequest返回Welcome to Azure Functions!,前端与API均正常。

Azure门户部署尝试

  1. 登录Azure门户,创建Static Web App资源;
  2. 选择现有订阅和资源组,命名应用为"test";
  3. 选择Free托管计划、West Europe区域,尝试其他区域也未成功;
  4. 关联Azure DevOps仓库,指定对应组织、项目、仓库及分支;
  5. 构建预设选择Angular,配置路径与本地CLI一致;
  6. 确认后生成的Azure DevOps YAML如下:
name: Azure Static Web Apps CI/CD

pr:
branches:
  include:
    - deployment-test
trigger:
branches:
  include:
    - deployment-test

jobs:
- job: build_and_deploy_job
displayName: Build and Deploy Job
condition: or(eq(variables['Build.Reason'], 'Manual'),or(eq(variables['Build.Reason'], 'PullRequest'),eq(variables['Build.Reason'], 'IndividualCI')))
pool:
  vmImage: ubuntu-latest
variables:
- group: Azure-Static-Web-Apps-<redacted>-variable-group
steps:
- checkout: self
  submodules: true
- task: AzureStaticWebApp@0
  inputs:
    azure_static_web_apps_api_token: $(AZURE_STATIC_WEB_APPS_API_TOKEN_<redacted>)
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
    app_location: "/source/test-app" # App source code path
    api_location: "/functions" # Api source code path - optional
    output_location: "dist/test-app" # Built app content directory - optional
###### End of Repository/Build Configurations ######
  1. 部署立即失败,错误详情:
{
"code":"DeploymentFailed",
"message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.",
"details":[
  {
    "code":"InternalServerError",
    "message":"There was an unexpected InternalServerError.  Please try again later.  x-ms-correlation-request-id: 6e2ab150-1542-4756-bc65-19d207d7b4f7"
  }
]
}
  1. 部署操作详情:
[
{
  "id": "/subscriptions/<redacted>/resourceGroups/<redacted>/providers/Microsoft.Resources/deployments/Microsoft.Web-StaticApp-Portal-48a26296-8238/operations/D5DB44C607F1BB9D",
  "operationId": "D5DB44C607F1BB9D",
  "properties": {
    "provisioningOperation": "Create",
    "provisioningState": "Failed",
    "timestamp": "2023-03-16T15:39:54.1309018Z",
    "duration": "PT4.4853634S",
    "trackingId": "66113984-7e07-4bf8-bcae-bdeb3024f87a",
    "statusCode": "BadRequest",
    "statusMessage": {
      "status": "Failed",
      "error": {
        "code": "InternalServerError",
        "message": "There was an unexpected InternalServerError.  Please try again later.  x-ms-correlation-request-id: 6e2ab150-1542-4756-bc65-19d207d7b4f7"
      }
    },
    "targetResource": {
      "id": "/subscriptions/<redacted>/resourceGroups/<redacted>/providers/Microsoft.Web/staticSites/test",
      "resourceType": "Microsoft.Web/staticSites",
      "resourceName": "test"
    }
  }
}
]

Azure CLI部署尝试

使用az staticwebapp create --debug部署,关键日志:

cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/<redacted>/resourceGroups/<redacted>/providers/Microsoft.Web/staticSites/test?api-version=2022-03-01'
cli.azure.cli.core.sdk.policies: Request method: 'PUT'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: {"location": "westeurope", "sku": {"name": "Free", "tier": "Free"}, "properties": {"repositoryUrl": "<redacted>", "branch": "deployment-test", "repositoryToken": "<redacted>", "buildProperties": {"appLocation": "source/test-app", "apiLocation": "functions", "appArtifactLocation": "dist/test-app"}}}
urllib3.connectionpool: https://management.azure.com:443 "PUT /subscriptions/<redacted>/resourceGroups/<redacted>/providers/Microsoft.Web/staticSites/test?api-version=2022-03-01 HTTP/1.1" 500 36
cli.azure.cli.core.sdk.policies: Response status: 500
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: {"Message":"An error has occurred."}

可行解决思路建议

  • 更换部署区域:当前使用West Europe,尝试切换到North Europe、East US等其他区域,区域级服务临时故障可能导致此类无明确原因的内部错误
  • 拆分部署步骤:先单独部署Angular前端(移除API路径配置),确认静态站点能正常创建后,再添加Azure Functions API配置,逐步排查问题点
  • 检查订阅与资源组状态:确认Visual Studio Enterprise订阅的免费额度未耗尽,资源组无锁定、权限限制等情况
  • 重置Azure DevOps PAT令牌:删除自动生成的PAT,手动创建包含代码读取、构建服务权限的新令牌,重新关联部署
  • 手动编写简化部署YAML:跳过门户自动生成的配置,使用指定Node.js版本的简洁YAML,示例:
name: SWA Deploy

trigger:
  - deployment-test

jobs:
  - job: BuildAndDeploy
    pool:
      vmImage: ubuntu-latest
    steps:
      - task: NodeTool@0
        inputs:
          versionSpec: '16.x'
        displayName: 'Install Node.js'
      - task: AzureStaticWebApp@0
        inputs:
          azure_static_web_apps_api_token: $(AZURE_STATIC_WEB_APPS_API_TOKEN)
          app_location: 'source/test-app'
          api_location: 'functions'
          output_location: 'dist/test-app'
  • 清理现有资源:彻底删除失败的Static Web App资源,清空浏览器缓存后重新创建,避免残留配置干扰
  • 校验仓库路径:确认source/test-app和functions路径在仓库根目录下,注意Linux环境路径区分大小写,避免路径大小写不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:03:10