您的文件上传到阿里云 OSS 的 Bucket 后,会自动生成该文件的访问地址,您可以使用此地址访问 Bucket 内的文件。若您希望通过自定义域名访问这些文件,需要将自定义域名绑定到文件所在的存储空间,并添加 CNAME 记录指向存储空间对应的外网域名。
注意 按照中华人民共和国《互联网管理条例》的要求,所有需要绑定自定义域名的用户,必须提前将域名在工信部备案。若您的域名未备案,您可通过阿里云提供的备案服务进行备案。

常见概念

绑定自定义域名,您需要了解以下概念:
  • 用户域名、自定义域名、自有域名:您在域名服务商处购买的域名。
  • OSS 访问域名或 Bucket 域名:OSS 为您的 Bucket 分配的的访问域名。您可以使用此域名访问您 Bucket 里的资源。如果您想使用您自己的用户域名访问 OSS Bucket,必须将您的用户域名绑定到 OSS 域名,即在云解析中添加CNAME记录。
  • 阿里云 CDN 域名:阿里云 CDN 为您的用户域名分配的 CDN 加速域名。将您的用户域名绑定到 CDN 加速域名,即在云解析中添加 CNAME 记录,才可以加速访问 OSS Bucket 里的资源。
  • CDN 缓存自动刷新:如果您更新了 OSS Bucket 里的 Object,而旧 Object 在 CDN 节点上的缓存没有到期,此时终端用户访问 Object 还是未更新的内容,则您需要手工去刷新缓存,这很麻烦。因此,OSS 服务提供了 CDN 缓存自动刷新功能,开启此动能后,您在 OSS Bucket 里做的所有更新都会自动刷新到 CDN 节点。具体操作请参见开启 CDN 缓存自动刷新

绑定自定义域名应用场景

例如,用户 A 拥有一个域名为 img.abc.com 的网站,网站的一个图片链接为http://img.abc.com/logo.png。为方便后续管理,用户 A 想要访问网站中图片的请求转到 OSS,并且不想修改任何网页的代码,也就是对外链接不变。绑定自定义域名可以满足这个需求。流程如下:

  1. 在 OSS 上创建一个名为 abc-img 的 Bucket,并将其网站上的图片上传至 Bucket。
  2. 通过 OSS 控制台,将 img.abc.com 这个自定义的域名绑定在 abc-img
  3. 绑定成功之后,OSS 后台会将 img.abc.com 做一个映射到 abc-img
  4. 在自己的域名服务器上,添加一条 CNAME 规则,将 img.abc.com 映射成 abc-img.oss-cn-hangzhou.aliyuncs.com(即 abc-img 的 OSS 域名)。
  5. http://img.abc.com/logo.png 请求到达 OSS 后,OSS 通过 img.abc.comabc-img 的映射关系,将访问转到 abc-img 这个 Bucket。也就是说,对http://img.abc.com/logo.png的访问,实际上访问的是http://abc-img.oss-cn-hangzhou.aliyuncs.com/logo.png

绑定自定义域名前后流程对比如下:

绑定自定义域名前 绑定自定义域名后
流程对比
  1. 访问 http://img.abc.com/logo.png
  2. DNS 解析到用户服务器 IP。
  3. 访问用户服务器上的logo.png。
  1. 访问 http://img.abc.com/logo.png
  2. DNS 解析到 abc-img.oss-cn-hangzhou.aliyuncs.com
  3. 访问 OSS 上 abc-img 里的 logo.png

功能使用参考