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

删除资源组用ARM模板重部署Azure Web App后遇404站点未找到

槽交换后Web App 404问题的排查与解决

我来帮你拆解这个问题——你在Dev环境删除资源组重建后,槽交换出现404,而不删资源组的环境正常,结合部署时的警告来看,核心是资源组重建导致的站点状态同步问题,咱们一步步来解决:

问题场景复盘

  • Dev环境流程:删除资源组 → ARM模板重新部署 → Staging槽API测试正常 → 槽交换后生产槽访问https://mywebapp.azurewebsite.net出现蓝色404页面
  • QA/Prod环境无删除资源组操作,未出现此问题
  • 部署时的关键警告:
    1. 403 Forbidden:更新mywebapp-maintenance部署状态失败,提示"This web app is stopped"
    2. 404 Site Not Found:更新主站点mywebapp的部署状态失败

可能的原因

  1. 资源组重建后的槽状态不同步:删除资源组会彻底清空所有槽的配置和底层资源标识,重新部署时Staging槽正常启动,但生产槽的实例初始化、DNS绑定可能还没完全完成,交换后路由指向了未就绪的实例。
  2. 部署过程中Web App实例未完全启动:403警告说明维护站点处于停止状态,部署时实例没正常拉起;后续的404警告则主站点在更新部署状态时还没就绪,这会影响槽交换后的站点可用性。
  3. 槽交换后的站点缓存未刷新:虽然你手动清了本地DNS,但Azure侧的站点路由缓存可能还没更新,尤其是资源组重建后,站点的底层IP、资源ID发生了变化,交换后路由没及时切换到新的生产槽实例。

针对性解决方案

1. 确保槽交换前所有实例完全就绪

在你的发布定义里加一步等待Web App实例运行的操作,避免在实例未启动时就执行交换:

  • 用Azure CLI检查两个槽的状态:
    # 检查生产槽状态
    az webapp show --name mywebapp --resource-group <你的资源组名> --query state
    # 检查Staging槽状态
    az webapp deployment slot show --name mywebapp --slot staging --resource-group <你的资源组名> --query state
    
  • 只有当两个槽返回的状态都是Running时,再执行槽交换。
  • 另外在ARM模板里开启alwaysOn,防止实例自动停止:
    "properties": {
      "siteConfig": {
        "alwaysOn": true
      }
    }
    

2. 槽交换后强制重启生产槽

交换完成后立即重启生产槽,强制刷新实例状态和路由:

az webapp restart --name mywebapp --resource-group <你的资源组名>

这个操作能解决资源组重建后底层资源标识变化导致的路由问题,我见过不少类似场景,重启后就能正常访问。

3. 启用槽交换的预览模式

如果用的是Azure DevOps的部署任务,勾选Swap with preview(预览交换):

  • 先将配置同步到生产槽并预热实例,验证没问题后再完成最终交换,避免直接交换带来的未就绪问题。
  • 同时在部署任务的“Additional Deployment Options”里添加-Restart参数,确保部署后实例完全重启。

4. 检查站点主机名配置

资源组重建后偶尔会出现主机名配置缺失的情况,用CLI检查生产槽的主机名:

az webapp show --name mywebapp --resource-group <你的资源组名> --query hostNames

如果结果里没有mywebapp.azurewebsite.net,可以手动在Azure Portal里添加,或者在ARM模板里明确配置hostNames属性:

"properties": {
  "hostNames": [
    "mywebapp.azurewebsite.net"
  ]
}

验证步骤

  1. 重新执行Dev环境部署,在槽交换前确认两个槽都处于Running状态。
  2. 交换后立即重启生产槽,等待1-2分钟再访问站点。
  3. 如果还是有问题,打开Azure Portal里的“诊断并解决问题”工具,选择“站点已关闭”场景,让系统自动排查DNS、实例状态等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:30:27