开发者社区 问答 正文

JavaScript-SDK 之如何实现自定义域名绑定?

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

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

这样就可以通过原地址 访问到存储在OSS上 的图片。 绑定自定义域名请参考 自定义域名绑定
在使用SDK时,也可以使用自定义域名作为endpoint,这时需要将cname参数 设置为true,如下面的例子: var co = require('co');
var OSS = require('ali-oss')

var client = new OSS({
  endpoint: '<Your endpoint>'
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>',
  cname: true
});

client.useBucket('my-bucket')


[backcolor=transparent]注意:
  • 使用CNAME时,无法使用list_buckets接口。(因为自定义域名已经绑定到某 个特定的Bucket)

展开
收起
青衫无名 2017-10-19 09:43:07 1745 分享 版权
阿里云 AI 助理回答

您已经概述了如何在阿里云对象存储(OSS)上绑定自定义域名并使用该域名访问OSS中存储的资源的详细步骤。这里我再简要总结一下流程,并补充一些可能需要的信息和注意事项,以确保您能顺利实施这一配置。

绑定自定义域名到OSS的步骤:

  1. 开通OSS服务并创建Bucket:首先,在阿里云控制台上开通OSS服务,然后创建一个新的Bucket来存储您的图片或其他文件。Bucket名称需全局唯一。

  2. 修改DNS配置:登录到您的域名提供商处,或如果您使用的是阿里云的云解析服务,进入DNS管理界面,为您的自定义子域名(如img.my-domain.com)添加一个CNAME记录。这个CNAME记录的值应该是您Bucket所在区域的OSS默认Endpoint,格式类似于my-bucket.oss-cn-hangzhou.aliyuncs.com,但不直接使用此格式,实际操作时应根据官方文档提供的正确CNAME目标进行设置。

  3. 在OSS控制台绑定域名:返回阿里云OSS控制台,选择对应的Bucket,在“基本设置”或“域名管理”中,将您在第2步中设置的自定义域名(如img.my-domain.com)与该Bucket绑定。这一步骤会要求验证域名所有权,通常通过上传指定文件到您的域名根目录或DNS TXT记录验证。

  4. 上传文件至OSS:通过控制台、SDK或者CLI工具,将您的图片等资源上传到刚刚创建并绑定好域名的Bucket中。

  5. 使用自定义域名访问资源:完成上述步骤后,您就可以通过自定义域名(例如http://img.my-domain.com/your-image.jpg)直接访问OSS中的资源了。

使用SDK时的注意事项:

  • 当您在代码中使用SDK(如Node.js示例所示)与OSS交互,并且希望使用自定义域名作为访问点时,确保设置cname: true。这样SDK会直接使用您提供的自定义域名发起请求,而不是默认的OSS Endpoint。

其他注意事项:

  • HTTPS支持:为了提升安全性,建议同时为您的自定义域名开启HTTPS支持。阿里云OSS支持为绑定的自定义域名免费提供SSL证书。

  • DNS传播时间:修改DNS记录后,全球DNS解析更新可能需要一定时间(一般不超过24小时),在此期间,新设置的域名可能无法立即生效。

  • 跨域资源共享(CORS):如果您的资源需要被不同源的网页访问,记得在OSS Bucket设置合适的CORS规则。

按照这些步骤操作,您可以无缝地将原有资源的访问路径迁移到OSS上,而无需改变用户端的访问习惯。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答