全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
对象存储 OSS

自定义域名绑定

更新时间:2018-05-29 22:54:03

您可以通过添加CNAME记录将自定义域名绑定到OSS的存储空间上,从而将存储无缝迁移到OSS上。

例如您的域名是my-domain.com,之前使用的所有图片资源都是形如http://img.my-domain.com/x.jpg的格式,在将图片存储迁移到OSS之后,通过绑定自定义域名,仍可以使用原来的地址访问图片。绑定自定义域名的步骤如下:

  1. 开通OSS服务并创建Bucket。
  2. 修改域名的DNS配置,增加一个CNAME记录,将img.my-domain.com指向OSS服务的Endpoint。
  3. 通过OSS控制台或者使用SDK将img.my-domain.com与创建的Bucket绑定。
  4. 将图片上传到Bucket中。

详情请参见开发指南中的绑定自定义域名

添加CNAME记录

您可以使用$ossClient->addBucketCname为Bucket添加CNAME记录,代码如下:

  1. <?php
  2. /**
  3. * 为Bucket添加CNAME记录。
  4. *
  5. * @param OssClient $ossClient OssClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function addBucketCname($ossClient, $bucket)
  10. {
  11. //填写您的域名,例如img.my-domain.com。
  12. $myDomain = 'img.my-domain.com';
  13. try {
  14. $ossClient->addBucketCname($bucket, 'img.my-domain.com');
  15. } catch (OssException $e) {
  16. printf(__FUNCTION__ . ": FAILED\n");
  17. printf($e->getMessage() . "\n");
  18. return;
  19. }
  20. print(__FUNCTION__ . ": OK" . "\n");
  21. }

获取CNAME记录

您可以使用$ossClient->getBucketCname获取Bucket已添加的CNAME记录,代码如下:

  1. <?php
  2. /**
  3. * 获取Bucket已添加的CNAME记录。
  4. *
  5. * @param OssClient $ossClient OssClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function getBucketCname($ossClient, $bucket)
  10. {
  11. //填写您的域名,例如img.my-domain.com。
  12. $myDomain = 'img.my-domain.com';
  13. try {
  14. $cnameConfig = $ossClient->getBucketCname($bucket);
  15. } catch (OssException $e) {
  16. printf(__FUNCTION__ . ": FAILED\n");
  17. printf($e->getMessage() . "\n");
  18. return;
  19. }
  20. var_dump($cnameConfig);
  21. print(__FUNCTION__ . ": OK" . "\n");
  22. }

删除CNAME记录

您可以使用$ossClient->deleteBucketCname删除Bucket的CNAME记录,代码如下:

  1. <?php
  2. /**
  3. * 删除Bucket的CNAME记录。
  4. *
  5. * @param OssClient $ossClient OssClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function deleteBucketCname($ossClient, $bucket)
  10. {
  11. //填写您的域名,例如img.my-domain.com。
  12. $myDomain = 'img.my-domain.com';
  13. try {
  14. $ossClient->deleteBucketCname($bucket, 'img.my-domain.com');
  15. } catch (OssException $e) {
  16. printf(__FUNCTION__ . ": FAILED\n");
  17. printf($e->getMessage() . "\n");
  18. return;
  19. }
  20. print(__FUNCTION__ . ": OK" . "\n");
  21. }
本文导读目录