对象存储OSS与阿里云CDN服务结合,可将OSS内的文件缓存到CDN的边缘节点。当大量终端用户重复访问同一文件时,可以直接从边缘节点获取已缓存的数据,提高访问的响应速度。
前提条件
如果您的Bucket在中国内地,绑定的域名需在中国工信部什么是ICP备案。背景信息
OSS结合CDN加速服务使用时,会产生CDN流出流量费用、CDN回源流出流量费用、请求费用。说明 建议您在上传加速、非静态热点文件下载加速等场景中使用OSS传输加速功能。更多信息,请参见传输加速。
操作步骤
- 绑定自定义域名。
- 配置CDN加速服务。
- 在域名列表中,单击目标域名右侧的未配置。
- 在添加域名页面,配置各项参数。配置详情,请参见添加加速域名。
- 单击下一步,然后单击返回域名列表。
- 在域名列表中,记录目标域名的CNAME值。
- 添加CNAME记录。如果您的域名为非阿里云托管的域名,需在对应的域名解析商处配置云解析。如腾讯云解析(原DNSPod)或新网添加CNAME的步骤,请参见配置CNAME。
此处以阿里云托管的域名为例,添加CNAME记录步骤如下:
- 开启CDN缓存自动刷新。在域名管理页签,打开目标域名右侧的CDN缓存自动刷新开关。您希望针对指定操作触发CDN缓存自动刷新,可以单击目标域名右侧支持的操作,然后选中指定操作类型。支持的操作类型如下:
参数 说明 PutObject 通过PutObject接口上传文件。更多信息,请参见简单上传。 PostObject 通过PostObject接口上传文件。更多信息,请参见表单上传。 CopyObject 通过CopyObject接口修改文件。更多信息,请参见拷贝文件。 AppendObject 通过AppendObject接口上传文件。更多信息,请参见追加上传。 CompleteMultipartUpload 通过分片上传或断点续传上传文件。更多信息,清参见分片上传。 DeleteObject 通过DeleteObject接口删除文件。更多信息,请参见删除文件。 DeleteObjects 通过DeleteMultipleObjects接口删除文件。更多信息,请参见删除文件。 PutObjectACL 通过PutObjectACL接口修改文件的权限控制。更多信息,请参见Object ACL。 由生命周期触发的对象过期(Expire)、类型转换(TransitionStorageClass)操作不再支持CDN缓存刷新。使用CDN缓存自动刷新时有如下注意事项:
- CDN缓存自动刷新功能提交的刷新URL为
CNAME/ObjectName
,不会刷新带请求参数的URL(图片处理、视频截帧等)。例如Bucket绑定的加速域名为example.com
,当您更新Bucket根目录的a.jpg文件,则访问example/a.jpg
可以获取最近一次更新的文件;访问example.com/a.jpg?x-oss-process=image/w_100
可能获取的还是旧文件。 - CDN缓存自动刷新功能不保证一定能成功提交刷新任务,也不保证刷新任务提交的及时性。
- CDN缓存自动刷新功能仅支持少量文件的更新提交刷新任务。如果有大量文件的更新操作,可能会触发流控丢弃部分刷新任务。
重要 对页面或者有大量文件更新需求的用户,建议直接调用RefreshObjectCaches刷新节点上的文件内容。 - CDN缓存自动刷新功能提交的刷新URL为
常见问题
- 为什么访问已绑定的阿里云CDN加速域名会出现AccessDenied错误?
绑定域名后,您可以使用域名加上具体的资源路径来访问OSS上的资源,例如
http://example.com/test/1.jpg
。如果您直接访问该域名,例如http://example.com
,则会出现AccessDenied错误。 - 已完成阿里云CDN加速服务的配置,为什么刷新OSS控制台的域名管理页签会出现CDN服务已配置和未配置交替出现的情况?
阿里云CDN服务配置完成后约10分钟才会生效,所以您在域名管理页签查看CDN服务配置状态时会出现以上情况,建议您等待10分钟后刷新页面查看。
- CDN回源到OSS时,如何隐藏OSS返回的报错信息?
有关该问题的解决方法,请参见CDN回源到OSS时,如何隐藏OSS返回的报错信息?。
- 为什么CDN回源私有Bucket时,不支持访问Bucket的默认首页?
有关该问题的原因及解决方法,请参见为什么CDN回源私有Bucket时,不支持访问Bucket的默认首页?。
更多参考
- 如果您希望使用HTTPS的方式访问CDN加速域名,请进行证书托管。具体操作,请参见证书托管。
- 如果您开启了CDN加速,并且需要进行跨域CORS访问,您需要在CDN控制台配置跨域规则。具体操作,请参见CDN如何配置跨域资源共享(CORS)。
- 如果您开启了CDN加速,并且需要配置防盗链,你需要在CDN控制台配置防盗链规则。具体操作,请参见配置Referer防盗链。