能否为Cloudflare R2存储桶及对象设置Cache-Control响应头?
关于Cloudflare R2设置Cache-Control HTTP响应头的问题
可以给Cloudflare R2的存储桶和对象设置Cache-Control响应头,以下是具体操作方式,同时纠正你关于收益的误解:
单个对象设置Cache-Control
- 使用AWS CLI的
s3api put-object命令上传对象时直接指定:aws s3api put-object --bucket your-bucket --key example-file.jpg --body ./example-file.jpg --cache-control "public, max-age=31536000, immutable" - 针对已上传的对象,通过
copy-object命令覆盖元数据(必须添加--metadata-directive REPLACE参数):aws s3api copy-object --bucket your-bucket --key example-file.jpg --copy-source your-bucket/example-file.jpg --cache-control "public, max-age=86400" --metadata-directive REPLACE
存储桶全局默认Cache-Control
在Cloudflare Dashboard的R2存储桶管理页面,进入「设置」>「对象元数据」区域,找到「默认Cache Control」选项,设置后所有新上传的对象会自动继承这个头值,无需逐个配置。
关于收益的误解
Cloudflare R2的定价模式基于存储量和请求次数,设置Cache-Control能减少边缘节点到R2源站的回源请求,反而会降低你的请求成本,同时减轻Cloudflare的源站负载,对双方都有利,不存在Cloudflare限制该功能来维持收益的情况。
内容的提问来源于stack exchange,提问作者anthumchris
相关产品推荐
相关产品推荐

