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

使用az webapp deploy部署私有存储账户中的Zip文件至Azure App Service时遭遇500错误排查请求

排查Azure App Service部署Zip文件时的404错误

结合你使用带专用终结点的私有Azure存储账户,通过az webapp deploy命令部署到配置了VNet集成的App Service的场景,这个500内部错误背后的404提示(资源不存在),通常和网络连通性、资源有效性或配置问题有关,具体可以从这几个方向排查:

1. Blob路径或SAS令牌存在问题

  • 先仔细核对src-url的完整性:存储账户名、容器名、Blob文件名(Azure Blob存储是大小写敏感的)有没有拼写错误,比如把sample-container写成Sample-Container就会找不到资源。
  • 验证SAS令牌的有效性:确保你的容器级SAS令牌包含读权限(r),且当前时间在令牌的有效期范围内。你可以把完整的src-url复制到能访问该私有存储的机器的浏览器里,尝试下载Blob,如果下载失败,说明路径或SAS令牌本身有问题。

2. App Service的VNet集成无法触达存储的专用终结点

因为你的存储账户是私有且依赖专用终结点,App Service必须通过VNet集成才能访问到它,这里可能存在的配置疏漏:

  • 确认App Service的VNet集成是否和存储专用终结点在同一个VNet,或者两个VNet之间已配置对等连接。如果网络不连通,App Service根本找不到存储的专用终结点。
  • 检查存储账户的网络规则:私有存储账户默认拒绝所有公网流量,你需要在存储账户的「网络」设置中,把App Service集成的VNet子网添加到允许访问的列表里。
  • 查看专用终结点状态:在Azure门户的存储账户「专用终结点」页面,确认终结点状态是「已批准」,且关联到正确的子网和VNet。

3. App Service的出站流量未走VNet集成

即使配置了VNet集成,部分出站流量可能仍走公网,导致无法访问私有存储:

  • 如果你用的是高级计划的App Service,检查是否开启了**「路由所有出站流量通过VNet」**。如果没开启,只有特定流量会走VNet,访问存储专用终结点的流量可能还是走公网,而私有存储拒绝公网访问,最终返回404(错误信息可能会误导成资源不存在)。
  • 对于基础/标准计划的区域VNet集成,要确保存储专用终结点和App Service在同一个区域,并且子网的路由表没有阻止到存储专用终结点的流量。

4. DNS解析配置错误

使用专用终结点时,存储账户的域名应该解析到私有IP,如果DNS配置不对,App Service会找不到资源:

  • 确认App Service所在的VNet是否关联了对应的专用DNS区域(比如privatelink.blob.core.windows.net),并且该区域已绑定存储的专用终结点。没有正确配置DNS的话,App Service会解析存储账户的公网IP,而私有存储的公网IP是无法访问的。
  • 你可以在App Service的Kudu控制台执行命令:nslookup storagesample.blob.core.windows.net,查看解析结果是否是存储专用终结点的私有IP,如果不是,说明DNS配置有问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:07:33