开发者社区> 问答> 正文

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

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

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

这样就可以通过原地址 访问到存储在OSS上的图片。
绑定自定义域名请参考 自定义域名绑定

增加一个CNAME


通过addBucketCname接口为Bucket增加一个CNAME绑定:
  1. [backcolor=transparent]<?[backcolor=transparent]php
  2. [backcolor=transparent]use[backcolor=transparent] OSS\OssClient[backcolor=transparent];
  3. [backcolor=transparent]$client [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]OssClient[backcolor=transparent](
  4. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeyId>'[backcolor=transparent],
  5. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeySecret>'[backcolor=transparent],
  6. [backcolor=transparent]    [backcolor=transparent]'<Your Endpoint>'[backcolor=transparent]);
  7. [backcolor=transparent]$client[backcolor=transparent]->[backcolor=transparent]addBucketCname[backcolor=transparent]([backcolor=transparent]'bucket name'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]'img.my-domain.com'[backcolor=transparent]);


删除一个CNAME


通过deleteBucketCname接口删除一个CNAME绑定:
  1. [backcolor=transparent]<?[backcolor=transparent]php
  2. [backcolor=transparent]use[backcolor=transparent] OSS\OssClient[backcolor=transparent];
  3. [backcolor=transparent]$client [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]OssClient[backcolor=transparent](
  4. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeyId>'[backcolor=transparent],
  5. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeySecret>'[backcolor=transparent],
  6. [backcolor=transparent]    [backcolor=transparent]'<Your Endpoint>'[backcolor=transparent]);
  7. [backcolor=transparent]$client[backcolor=transparent]->[backcolor=transparent]deleteBucketCname[backcolor=transparent]([backcolor=transparent]'bucket name'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]'img.my-domain.com'[backcolor=transparent]);


获取已绑定的CNAME


通过getBucketCname接口获取Bucket已绑定的CNAME列表:
  1. [backcolor=transparent]<?[backcolor=transparent]php
  2. [backcolor=transparent]use[backcolor=transparent] OSS\OssClient[backcolor=transparent];
  3. [backcolor=transparent]$client [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]OssClient[backcolor=transparent](
  4. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeyId>'[backcolor=transparent],
  5. [backcolor=transparent]    [backcolor=transparent]'<Your AccessKeySecret>'[backcolor=transparent],
  6. [backcolor=transparent]    [backcolor=transparent]'<Your Endpoint>'[backcolor=transparent]);
  7. [backcolor=transparent]$cnameConfig [backcolor=transparent]=[backcolor=transparent] $client[backcolor=transparent]->[backcolor=transparent]getBucketCname[backcolor=transparent]([backcolor=transparent]'bucket name'[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]'img.my-domain.com'[backcolor=transparent]);
  8. [backcolor=transparent]var_dump[backcolor=transparent]([backcolor=transparent]$cnameConfig[backcolor=transparent]);

展开
收起
青衫无名 2017-10-19 10:11:11 1891 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
域名大数据的应用 立即下载
“域”见更美好的未来——域名筑梦互联网+ 立即下载
“域”感——《域名投资从入门到精通》 立即下载