自定义域名访问OSS
自定义域名绑定(CNAME)
OSS支持用户将自定义的域名访问绑定在属于自己的Bucket上面,这个操作必须通过OSS控制台来实现。按照中国《互联网管理条例》的要求,所有需要开通这项功能的用户,必须提供阿里云备案号,域名持有者身份证等有效资料,经由阿里云审批通过后才可以使用。在开通CNAME功能后,OSS将自动处理对该域名的访问请求。
CNAME应用场景例子:
- 用户A拥有一个域名为abc.com的网站,网站的网页中的链接为http://img.abc.com/logo.png。
- 用户A此时需要将对img.abc.com图片的请求迁移到OSS上,并且不想修改任何网页的代码,也就是对外链接不变,CNAME功能就特别适合这种场景。
- 用户A通过OSS控制台,提交将img.abc.com这个自定义的域名绑定在abc-img上的申请,并提供相应的材料。
- 通过阿里云审核后,OSS后台会将img.abc.com做一个映射到abc-img(此处会做权限验证)。
- 用户A在自己的域名服务器上,添加一条CNAME规则,将img.abc.com映射成abc-img.oss-cn-hangzhou.aliyuncs.com。这样所有对用户img.abc.com域名的访问都将被转发到OSS的abc-img.oss-cn-hangzhou.aliyuncs.com。
- http://img.abc.com/logo.png请求到达OSS后,OSS找到img.abc.com和abc-img的映射,实际转换变成访问abc-img这个Bucket。这样一次对http://img.abc.com/logo.png的访问,经过OSS后,实际上访问的是http://abc-img.oss-cn-hangzhou.aliyuncs.com/logo.png。
未做CNAME绑定前 | 做CNAME绑定后 |
---|---|
流程对比 | 访问http://img.abc.com/logo.png -> DNS解析到用户服务器 IP -> 访问用户服务器上的logo.png 访问http://img.abc.com/logo.png -> DNS解析到abc-img.oss-cn-hangzhou.aliyuncs.com -> 访问OSS上abc-img的logo.png |
使用CNAME注意
- 首先需要通过了阿里云的审批。
- 用户在OSS上创建了Bucket,并且上传了相应的文件。
- 在控制台上开通了CNAME,将用户自定义的域名映射到Bucket。
- 用户在域名服务提供商那里将自定义的域名解析到Bucket.Endpoint这个域名。
注意操作的顺序。
操作流程:
- 控制台:自定义域名绑定