OSS支持用户将自定义的域名绑定到OSS服务上,这样能够支持用户无缝地将存储 迁移到OSS上。例如用户的域名是my-domain.com,之前用户的所有图片资源都是 形如
的格式,用户将图片存储迁移到OSS之 后,通过绑定自定义域名,仍可以使用原来的地址访问到图片:
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')
注意:
- 使用CNAME时,无法使用list_buckets接口。(因为自定义域名已经绑定到 某个特定的Bucket)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您已经概述了在阿里云对象存储服务(OSS)上绑定自定义域名并使用该域名访问存储资源的基本步骤,这里我再为您详细梳理一下整个流程,并补充一些关键点和注意事项:
开通OSS服务并创建Bucket:
绑定自定义域名:
img.my-domain.com
。my-bucket.oss-cn-hangzhou.aliyuncs.com
。修改DNS配置:
img.my-domain.com
添加CNAME记录,指向OSS提供的endpoint地址。这一步是为了将自定义域名解析到OSS Bucket上。上传文件至OSS Bucket:
通过自定义域名访问资源:
http://img.my-domain.com/your-image.jpg
)访问到OSS上的图片资源。cname: true
来启用CNAME支持。示例代码您已给出,确保替换ENDPOINT
、ACCESS_KEY_ID
和ACCESS_KEY_SECRET
为实际的值。CNAME与list_buckets限制:一旦使用自定义域名(CNAME),由于DNS解析的特性,直接通过SDK调用list_buckets
接口可能会失败,因为这个接口需要直接访问OSS的服务端点,而不是通过CNAME解析的Bucket特定地址。
DNS生效时间:修改DNS记录后,全球DNS解析更新可能需要一定时间(通常几分钟到几小时不等),在此期间通过自定义域名访问资源可能会失败。
SSL证书:如果您的应用场景需要HTTPS,记得为自定义域名配置SSL证书。阿里云OSS支持为绑定的自定义域名托管免费的SSL证书。
跨域资源共享(CORS):如果您打算从不同源的Web页面访问这些资源,还需要在OSS Bucket中配置CORS规则以允许跨域请求。
按照上述步骤操作,您可以顺利地将自定义域名与OSS服务绑定,实现无缝迁移存储资源的同时保持原有访问路径不变。