Heroku Bucketeer CORS配置求助:缺失AWS参数及账户ID错误
Heroku Bucketeer CORS 配置完整指南(解决CORS错误及参数困惑)
核心说明
Heroku Bucketeer托管的S3桶属于Heroku侧管理,你无需指定x-amz-expected-bucket-owner、Content-MD5这类额外参数,直接用插件提供的凭证即可完成CORS配置,以下是具体操作步骤:
方法一:使用AWS CLI配置(推荐)
配置AWS凭证
安装AWS CLI后,执行aws configure,依次填入插件提供的凭证:- AWS Access Key ID:
BUCKETEER_AWS_ACCESS_KEY_ID的取值 - AWS Secret Access Key:
BUCKETEER_AWS_SECRET_ACCESS_KEY的取值 - Default region name:
BUCKETEER_AWS_REGION的取值 - Default output format:输入
json或直接回车留空
- AWS Access Key ID:
编写CORS策略文件
创建cors-policy.json文件,替换AllowedOrigins为你的应用域名:{ "CORSRules": [ { "AllowedHeaders": ["*"], "AllowedMethods": ["GET", "POST", "PUT"], "AllowedOrigins": ["https://your-app-domain.herokuapp.com"], "ExposeHeaders": ["ETag"] } ] }执行配置命令
运行以下命令完成CORS策略设置:aws s3api put-bucket-cors --bucket $BUCKETEER_BUCKET_NAME --cors-configuration file://cors-policy.jsonWindows环境直接替换
$BUCKETEER_BUCKET_NAME为实际桶名即可。
方法二:验证配置是否生效
执行命令查看当前桶的CORS策略,确认配置成功:
aws s3api get-bucket-cors --bucket $BUCKETEER_BUCKET_NAME
错误排查
- InvalidBucketOwnerAWSAccountID错误:直接移除
x-amz-expected-bucket-owner请求头即可,该参数仅适用于你拥有所有权的S3桶,Bucketeer桶归Heroku管理,无需指定。 - 无需额外参数:
Content-MD5、x-amz-sdk-checksum-algorithm为可选参数,配置CORS时完全可以忽略。
内容的提问来源于stack exchange,提问作者shuba.ivan
相关产品推荐
相关产品推荐

