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门户部署尝试
- 登录Azure门户,创建Static Web App资源;
- 选择现有订阅和资源组,命名应用为"test";
- 选择Free托管计划、West Europe区域,尝试其他区域也未成功;
- 关联Azure DevOps仓库,指定对应组织、项目、仓库及分支;
- 构建预设选择Angular,配置路径与本地CLI一致;
- 确认后生成的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 ######
- 部署立即失败,错误详情:
{ "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" } ] }
- 部署操作详情:
[ { "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
相关产品推荐
相关产品推荐

