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

Azure Web App通过GitHub Action部署报Unauthorized(401)错误求解决

解决GitHub Action部署Azure Web App时的401 Unauthorized错误
  • 重新获取并更新发布配置文件
    登录Azure门户,找到你的productlister Web App,进入「部署中心」→「FTP/部署凭据」,点击「获取发布配置文件」下载最新的XML文件。然后去GitHub仓库的「Settings」→「Secrets and variables」→「Actions」里,找到对应的发布配置文件密钥(比如AZURE_WEBAPP_PUBLISH_PROFILE),把新下载的XML内容完整粘贴进去,别留多余空格或换行。

  • 确认发布配置文件的权限
    确保下载发布配置文件的账户,对目标Web App有Contributor或更高权限,权限不够也会导致认证失败。

  • 修正工作流YAML的参数

    • 检查azure/webapps-deploy@v2步骤里的app-name和slot-name,必须和Azure上的Web App名称、部署槽完全一致,大小写不能错。
    • React应用构建完的产物在build文件夹里,你当前的package: .指向根目录是错误的,改成:
      package: ./build
      
  • 排查Azure侧的部署限制

    • 看看Web App有没有开启「IP限制」,如果开了,得把GitHub Action的IP加到允许列表里(在Azure门户「网络」→「访问限制」里配置)。
    • 确认Web App的「部署凭据」没被修改或过期,要是更新过,得同步到GitHub Secrets里。
  • 换用Azure服务主体认证
    要是发布配置文件还是有问题,可以改用服务主体:

    1. 在Azure里创建服务主体,给它分配Web App的Contributor权限。
    2. 把AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_SUBSCRIPTION_ID这三个值加到GitHub Secrets里。
    3. 修改工作流,先登录Azure再部署:
    - uses: azure/login@v1
      with:
        creds: '{"clientId":"${{ secrets.AZURE_CLIENT_ID }}","tenantId":"${{ secrets.AZURE_TENANT_ID }}","subscriptionId":"${{ secrets.AZURE_SUBSCRIPTION_ID }}"}'
    - uses: azure/webapps-deploy@v2
      with:
        app-name: productlister
        slot-name: Production
        package: ./build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:08:30