对象存储OSS与阿里云CDN服务结合,可将OSS内的文件缓存到CDN的边缘节点。当大量终端用户重复访问同一文件时,可以直接从边缘节点获取已缓存的数据,提高访问的响应速度。
前提条件
如果您的Bucket在中国内地,绑定的域名需在中国工信部 什么是ICP备案。背景信息
OSS结合CDN加速服务使用时,会产生CDN流出流量费用、CDN回源流出流量费用、请求费用。
说明 建议您在上传加速、非静态热点文件下载加速等场景中使用OSS传输加速功能。更多信息,请参见
传输加速。
使用OSS控制台
- 登录OSS管理控制台。
- 单击Bucket列表,然后单击目标Bucket名称。
- 在左侧导航栏,选择 。
- 在域名管理页面,单击绑定域名。
- 在绑定域名面板,输入要绑定的域名。
绑定的域名不支持泛域名,例如
*.example.com
。- 提示验证域名所有权并绑定
表明当前域名未绑定过任意Bucket或者已被绑定至其他账号下的Bucket。您可以按以下步骤绑定当前域名:
以当前域名为阿里云托管的域名(example.com)为例:
- 添加TXT记录。
- 登录云解析DNS控制台。
- 在域名解析列表中,单击目标域名右侧的解析设置。
- 在解析设置页面,单击添加记录。
- 在添加记录面板,按以下说明填写各项参数,其他参数保留默认配置,然后单击确认。
参数 说明 记录类型 选择TXT。 主机记录 填写_dnsauth.example.com。 记录值 填写OSS控制台返回的CnameToken值。 - 在OSS管理控制台的绑定域名面板,单击验证域名所有权并绑定。
说明 验证域名所有权可能需要等待几分钟后生效。
- 配置CDN加速服务。
- 在域名列表中,单击目标域名右侧的未配置。
- 在添加域名页面,配置各项参数。配置详情,请参见添加加速域名。
- 单击下一步,然后单击返回域名列表。
- 在域名列表中,记录目标域名的CNAME值。
- 添加CNAME记录。
成功绑定域名后,您需要在域名解析服务商处将当前绑定域名的DNS解析记录指向CDN加速域名,确保使用绑定域名访问时请求会被正确转发。
- 登录云解析DNS控制台。
- 在域名解析列表中,单击目标域名右侧的解析设置。
- 在解析设置页面,单击添加记录,然后填写域名解析信息。
参数 说明 记录类型 选择域名指向的类型。 此处选择CNAME。 主机记录 根据域名前缀填写主机记录。 - 如果是顶级域名,例如
aliyun.com
,输入@。 - 如果是二级域名,输入二级域名的前缀。例如域名为
abc.aliyun.com
,输入abc。 - 如果需要所有的二级域名都指向Bucket外网访问域名,输入*。
解析线路 解析域名时使用的线路。 建议选择默认,系统将自动选择最佳线路。 记录值 填写配置CDN加速服务步骤中记录的CNAME值。 TTL 域名的更新周期,保留默认值即可。 - 如果是顶级域名,例如
- 单击确定。
- 添加TXT记录。
- 提示当前域名已被绑定到当前账号下的某个Bucket
您可以通过以下两种方式将域名绑定至当前Bucket。
- 更换域名。
- 将当前域名从已绑定Bucket中解除绑定,然后重新绑定至当前Bucket。
关于解除域名绑定的具体步骤,请参见解除域名绑定。
- 提示验证域名所有权并绑定
- 开启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缓存自动刷新?
支持。您可以通过以下步骤关闭CDN缓存自动刷新。
- 单击目标域名右侧的支持的操作。
- 删除已选择的所有操作。
- 单击确定。
为什么访问已绑定的阿里云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防盗链。