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

Azure Blob存储匿名请求头部格式及两类认证问题修复

问题修复方案

一、匿名读取权限的cURL请求错误修复

当容器配置了容器级匿名读取权限时,不需要添加x-ms-date、x-ms-version这类用于签名认证的请求头,也不需要任何Authorization头。直接使用标准的容器列表请求格式即可:

curl https://name.blob.core.windows.net/name2?restype=container&comp=list

关键注意点:

  • 必须携带?restype=container&comp=list参数:这是Azure Blob存储获取容器内文件列表的强制参数,缺少它会默认请求容器元数据,而匿名权限下容器元数据默认不开放,这是你之前报错的核心原因。
  • 移除所有认证相关请求头:匿名请求无需任何身份验证头,额外添加会触发Azure的认证校验逻辑。

二、SAS令牌请求的签名不匹配修复

签名不匹配通常是请求头与SAS令牌的验证逻辑冲突,或请求参数不匹配导致的,修复步骤如下:

  1. 移除不必要的请求头
    使用SAS令牌时,x-ms-date和x-ms-version会干扰签名验证,因为SAS令牌本身已包含版本、时间等校验信息,手动添加会导致签名字符串不匹配,直接去掉这两个头即可。

  2. 确保请求参数正确
    必须将容器列表参数restype=container&comp=list与SAS令牌参数合并到同一URL中,确保请求的是容器列表操作而非容器元数据。正确的命令如下:

curl 'https://name.blob.core.windows.net/name2?restype=container&comp=list&sp=r&st=2022-10-12T19:53:09Z&se=2022-10-13T03:53:09Z&skoid=c49c35ef-99c7-49c5-835b-92418a2ccdb6&sktid=b1404f36-3c1b-42e2-9c8d-1b0066b5ff86&skt=2022-10-12T19:53:09Z&ske=2022-10-13T03:53:09Z&sks=b&skv=2021-06-08&spr=https&sv=2021-06-08&sr=c&sig=token'
  1. 检查SAS令牌有效性
    确认你的SAS令牌是否在有效期内(当前时间需在st和se参数指定的时间范围内),如果已过期,需要重新生成有效的SAS令牌。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:55:22