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

本地可上传文件至Azure Blob,部署为Azure Web App时失败求助

问题分析与解决办法

这个Name or service not known错误核心是Azure Web App无法解析你的Blob存储账户域名,导致连接服务失败。下面是一步步排查和解决的思路:

1. 确认存储账户名称无错误

  • 代码里的myaccount必须和Azure门户中的存储账户名完全一致,注意存储账户名仅支持小写字母+数字,别搞混大小写或输入错误。
  • 直接从Azure存储账户“概述”页面复制Blob服务完整端点(比如https://myaccount.blob.core.windows.net),替换代码里的域名部分,避免手动输入出错。

2. 检查Web App的网络配置

  • 如果Web App开启了虚拟网络集成或使用了专用端点:
    • 若用专用端点,需确认Blob存储的专用端点已关联到Web App所在虚拟网络,且专用DNS区域配置正确,保证Web App能解析专用端点域名。
    • 若Web App处于隔离网络环境,检查防火墙规则是否阻止了出站访问443端口,或是否有限制DNS解析的规则。
  • 未使用虚拟网络的话,将Web App的出站IP添加到Blob存储防火墙白名单:
    • 在Web App的“网络”>“出站IP地址”中复制所有IP,到Blob存储账户的“网络”>“防火墙和虚拟网络”页面,把这些IP加入允许列表。

3. 验证连接字符串正确性

  • 不要在代码中硬编码连接字符串,部署到Web App后,通过应用程序设置配置:
    • 从Azure存储账户“访问密钥”页面复制标准连接字符串,粘贴到Web App的“配置”>“应用程序设置”中,确保格式正确,例如:DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=xxx;EndpointSuffix=core.windows.net
    • 通过IConfiguration读取该连接字符串,保证部署环境和本地使用的是同一个正确字符串。

4. 排查DNS解析问题

  • 使用Web App自带诊断工具检测:
    • 进入Azure门户的Web App页面,打开“诊断并解决问题”,搜索“DNS解析”相关诊断项,运行检测查看能否正常解析myaccount.blob.core.windows.net。
  • 若使用自定义DNS服务器,需确认它能解析Azure存储域名,不行就换回Azure默认DNS尝试。

5. 临时调整重试策略(缓解问题)

虽然根源是DNS,但可以先调整重试策略,避免快速耗尽重试次数:

var blobClientOptions = new BlobClientOptions
{
    Retry =
    {
        Delay = TimeSpan.FromSeconds(2),
        MaxDelay = TimeSpan.FromSeconds(10),
        MaxRetries = 3,
        Mode = RetryMode.Exponential
    }
};
var blobServiceClient = new BlobServiceClient(connectionString, blobClientOptions);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:15:08