本文介绍如何使用自定义域名绑定。

OSS支持用户将自定义的域名绑定到OSS服务上,这样能够支持用户无缝地将存储迁移到OSS上。例如用户的域名是example.com,之前用户的所有图片资源都是形如http://img.example.com/x.jpg的格式,用户将图片存储迁移到OSS之后,通过绑定自定义域名,仍可以使用原来的地址访问到图片:

  1. 开通OSS服务并创建Bucket。
  2. 将img.example.com与创建的Bucket绑定。
  3. 将图片上传到OSS的这个Bucket中。
  4. 修改域名的DNS配置,增加一个CNAME记录,将img.example.com指向OSS服务的endpoint(如my-bucket.oss-cn-hangzhou.aliyuncs.com)。

这样就可以通过原地址http://img.example.com/x.jpg访问到存储在OSS上的图片。绑定自定义域名请参见自定义域名绑定

在使用SDK时,也可以使用自定义域名作为endpoint,这时需要将:cname参数设置为true,示例如下:

require 'aliyun/oss'

include Aliyun::OSS

client = Client.new(
  endpoint: 'ENDPOINT',
  access_key_id: 'ACCESS_KEY_ID',
  access_key_secret: 'ACCESS_KEY_SECRET',
  cname: true)

bucket = client.get_bucket('my-bucket')
说明 自定义域名已经绑定到某个特定的Bucket,因此使用CNAME时无法使用list_buckets接口。