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

调用GetObject操作遇SignatureDoesNotMatch错误:S3大文件下载失败

解决S3大文件复制时的SignatureDoesNotMatch错误

先修正命令拼写错误

你执行的命令aws cli s3 cp s3://${my_bucket}/${my_file}存在语法错误,正确的AWS CLI命令格式应为aws s3 cp s3://${my_bucket}/${my_file} <本地目标路径>,多出来的cli会导致命令解析异常,这可能是触发签名错误的直接原因。

其他排查与解决步骤

如果修正命令后问题仍存在,按以下步骤排查:

  • 强制使用S3签名版本v4
    部分AWS区域仅支持签名版本v4,大文件分段传输时可能默认使用了旧版本签名。

    • 临时生效:执行export AWS_S3_SIGNATURE_VERSION=s3v4后再重新运行复制命令
    • 永久生效:在~/.aws/config文件中添加配置:
      [default]
      s3 =
          signature_version = s3v4
      
  • 同步系统时间
    AWS签名验证依赖精准的系统时间,若本地时间与AWS服务器时间偏差超过5分钟,会直接导致签名不匹配。

    • 使用date命令查看本地时间,通过NTP服务同步(如timedatectl set-ntp true或ntpdate pool.ntp.org)
  • 明确指定存储桶区域
    若CLI默认区域与存储桶所在区域不一致,可能引发签名错误。复制命令中添加--region参数指定实际区域:

    aws s3 cp s3://${my_bucket}/${my_file} ./ --region <存储桶区域>
    
  • 检查临时凭证有效性
    若使用IAM角色的临时凭证,凭证过期会导致权限验证失败。重新获取凭证:

    • EC2实例:重启实例或重新关联IAM角色
    • 本地环境:重新执行获取临时凭证的命令(如aws sts assume-role相关操作)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:34:59