Azure App Service部署报错:未用部署槽却提示资源不存在
Azure App Service部署404资源缺失问题解决
问题详情
通过GitHub Actions部署FastAPI应用到Azure App Service,部署日志显示成功,但访问应用时触发404错误:
Status Code: 404 Status Message: The Resource 'Microsoft.Web/sites/my-fastapi-webapp/slots/e6dnb2bkfndyfpdx' under resource group 'my-fastapi-rg' was not found.
未使用任何自定义部署槽,已执行的操作:
- 多次重新部署,部署流程始终指向该不存在的槽
- 原GitHub Actions工作流片段:
- name: Deploy to Azure Web App uses: azure/webapps-deploy@v3 with: app-name: 'my-fastapi-webapp' slot-name: 'Production'
- 移除工作流中的
slot-name配置后,问题依旧存在
疑问解答
1. 如何修复“资源不存在”错误,确保部署到有效目标?
- 清理Azure端的缓存配置:
登录Azure门户,进入目标App Service:- 检查部署中心的GitHub Actions配置,删除任何残留的异常槽参数;
- 进入配置 > 应用设置,查找是否存在
WEBSITE_SLOT_NAME这类槽相关设置,若其值为错误的e6dnb2bkfndyfpdx,直接删除该设置或重置为Production。
- 强制绑定生产槽部署:
Azure App Service默认自带Production生产槽,无需手动创建。在工作流中保留slot-name: 'Production',同时确认:- App Service名称、资源组名称与配置完全一致;
- 用于部署的Azure服务主体拥有该App Service的完整部署权限。
- 重置GitHub Actions部署凭据:
在Azure门户的App Service 部署中心 > GitHub页面,重新授权GitHub关联,生成全新的工作流配置文件,替换本地仓库中的旧配置,避免旧凭据关联错误槽信息。
2. 是否需要移除slot-name引用,还是手动创建缺失的槽?
- 禁止手动创建错误提示中的槽:
e6dnb2bkfndyfpdx是随机生成的无效槽名,并非官方默认的生产槽,创建该槽无意义,还会增加配置混乱。 - 两种配置方式均可,需保证配置环境干净:
- 保留
slot-name: 'Production':明确指定部署到默认生产槽,只要完成上述缓存清理步骤,即可正常生效; - 移除
slot-name:工作流会自动部署到默认生产槽,但必须确保Azure端没有残留的错误槽配置(比如已清理应用设置和部署中心的异常参数)。
- 保留
内容的提问来源于stack exchange,提问作者Jeeva Joslin
相关产品推荐
相关产品推荐

