如何通过Postman无自定义域名访问Cloudflare R2存储桶?
用Postman访问Cloudflare R2存储桶(官方地址方式)
先把几个关键环节捋清楚,按官方文档操作没成功大概率是参数或签名配置细节错了:
1. 核对核心参数
- 账户ID:Postman变量里的
{{account-id}}得是你Cloudflare账户的正确ID,在仪表盘右上角头像→「我的账户」里能找到,别填成Zone ID了 - R2专属凭证:必须用R2控制台生成的Access Key ID和Secret Access Key,不是Cloudflare全局API密钥。去R2控制台→「管理R2 API令牌」生成,要勾选目标存储桶的对应权限(比如读写)
2. 配置AWS签名认证
R2兼容S3 API,所以Postman请求必须用AWS Signature认证:
- 打开请求的「Auth」标签,类型选「AWS Signature」
- 填入刚才生成的Access Key和Secret Key
- AWS Region留空(R2不需要指定区域,填了反而会错)
- Service Name填
s3,这个是关键,填错直接签名失败 - 确保「Sign Request」是开启状态
3. 构造正确的请求
按需求选对应的方法和URL:
- 列出所有存储桶:GET方法,URL填
https://{{account-id}}.r2.cloudflarestorage.com - 查看某个桶的内容:GET方法,URL填
https://{{account-id}}.r2.cloudflarestorage.com/{{bucket-name}}(替换{{bucket-name}}为你的桶名) - 上传对象:PUT方法,URL填
https://{{account-id}}.r2.cloudflarestorage.com/{{bucket-name}}/{{object-key}},在「Body」标签选binary或form-data上传文件 - 下载对象:GET方法,URL填
https://{{account-id}}.r2.cloudflarestorage.com/{{bucket-name}}/{{object-key}}
4. 常见坑排查
- 403错误:检查凭证权限是不是覆盖了目标桶,确认签名的Service Name是
s3、Region为空;另外如果是刚生成的凭证,等1-2分钟再试,Cloudflare有时候同步有延迟 - 404错误:核对账户ID、桶名、对象键的拼写,确保桶确实在你的账户里
- 签名不匹配:Postman部分版本默认会把签名加在URL里,改成加在Headers里——在AWS Signature配置的「Add authorization data to」选项选「Headers」
- 别用自定义域名,严格用
{{account-id}}.r2.cloudflarestorage.com这个格式,自定义域名的配置逻辑不一样
内容的提问来源于stack exchange,提问作者Salman Sajid
相关产品推荐
相关产品推荐

