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

如何创建S3下载URL,使部署目标可通过wget获取构建阶段产物?

解决S3临时凭证下wget下载403错误的方法

方法1:直接在wget命令中传递完整临时凭证

临时凭证必须同时包含accessKeyId、secretAccessKey和sessionToken才能通过S3的权限校验,直接用以下格式的wget命令:

wget --header="x-amz-security-token: 你的sessionToken值" https://你的bucketName.s3.你的区域.amazonaws.com/你的objectKey --user=你的accessKeyId值 --password=你的secretAccessKey值

注意替换命令里的所有占位符(比如区域填us-east-1这类实际值),确保bucket名称、object路径完全正确。

方法2:生成预签名URL后下载

如果能使用AWS CLI,先通过临时凭证生成带权限的预签名URL,再用wget下载:

  1. 配置临时凭证环境变量:
export AWS_ACCESS_KEY_ID="你的accessKeyId值"
export AWS_SECRET_ACCESS_KEY="你的secretAccessKey值"
export AWS_SESSION_TOKEN="你的sessionToken值"
  1. 生成有效期内的预签名URL(示例设置1小时有效期,可按需调整--expires-in的秒数):
aws s3 presign s3://你的bucketName/你的objectKey --expires-in 3600
  1. 复制生成的URL,直接用wget下载:
wget 生成的预签名URL

额外检查项

  • 确认临时凭证的权限策略包含s3:GetObject权限,且作用范围覆盖目标bucket和object;
  • 检查expirationTime是否已过期,临时凭证过期后会直接返回403;
  • 确认S3 endpoint的区域与bucket实际所在区域一致,避免跨区域访问导致的权限校验失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:40:22