OSS图片处理如何借助CDN将多个域名绑定到同一个bucket上

OSS 图片处理如何借助CDN将多个域名绑定到同一个bucket上

无论是从优化浏览器行为上还是处于其他原因(比如说oss对外限制bucket个数为10个),现在有很多用户想在一个bucket上绑定多个域名,目前OSS已经对此做了支持,但是阿里云图片处理控制台上只允许一个bucket绑定一个域名,还不支持将多个域名绑定到同一个bucket上,由于图片处理服务大多情况下是配合CDN一起使用的,当然不用CDN直接使用阿里云OSS 图片处理服务提供的三级域名也可以体验阿里云OSS 图片处理服务。
现在就介绍下如何借助阿里云CDN做到多个域名绑定到一个bucket上:
现在有一个bucket,名为bucket-example
这个bucket 的对应的oss endpoint 为oss-cn-qingdao.aliyuncs.com
图片处理 img endpoint 为img-cn-qingdao.aliyuncs.com

一、登陆到阿里云CDN控制台:https://cdn.console.aliyun.com/console/index#/



点击左上角的CDN域名列表


这里写图片描述

二、点击右上角添加新域名



这里写图片描述


这里写图片描述


填写相关信息后点击下一步, 这里要注意域名一定是要在阿里云备案的,没有备案的
备案一下,阿里云备案速度还是很快的,从提交到最终备案完成我只花了两周时间。
注意这里源站域名要填写为OSS图片处理对应的域名

三、CNAME绑定

以上骤完成之后还要进行CNAME操作,将我们的CDN加速域名cdn-test.chenhongyu.cn


CNAME到刚刚申请好的cdn加速域名上,这个如何绑定?
简单截个图:


这里写图片描述


完成之后可以dig下域名

dig cdn-test.chenhongyu.cn



这里写图片描述


cdn-test.chenhongyu.cn. 600 IN CNAME cdn-test.chenhongyu.cn.w.kunlunar.com.
在浏览器上访问这个域名,出现如下结果,绑定成功


这里写图片描述

四 、更改CDN回源Host 头

还有最后一步,由于我们直接访问的是域名,cdn拿到请求后转发给oss,host头部为
cdn-test.chenhongyu.cn, oss 不知道这个host对应的bucket是什么,因此要将cdn
回源host头部改掉,点击回源Host,选择源站域名。


这里写图片描述
这里写图片描述


注意,确认这里的回源Host是图片处理的域名
至此一个域名绑定到bucket成功,再加一个域名同样的步骤重复一次即可。

五、 一句话总结以上步骤

申请多个CDN回源域名,将回源地址填写为同一个bucket对应的三级域名(img 用img的三级域名,oss用oss的三级域名),并更改回源host 头部为源站域名。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用阿里云的Golang SDK来实现OSS之间的Bucket图片转移。具体步骤如下: 1. 导入阿里云OSS Golang SDK ```go import ( "github.com/aliyun/aliyun-oss-go-sdk/oss" ) ``` 2. 创建源Bucket和目标BucketOSSClient对象 ```go srcEndpoint := "https://source-bucket-endpoint" srcAccessKeyId := "your-access-key-id" srcAccessKeySecret := "your-access-key-secret" srcBucketName := "source-bucket-name" // 创建源BucketOSSClient对象 srcClient, err := oss.New(srcEndpoint, srcAccessKeyId, srcAccessKeySecret) if err != nil { fmt.Println("Error:", err) return } dstEndpoint := "https://destination-bucket-endpoint" dstAccessKeyId := "your-access-key-id" dstAccessKeySecret := "your-access-key-secret" dstBucketName := "destination-bucket-name" // 创建目标BucketOSSClient对象 dstClient, err := oss.New(dstEndpoint, dstAccessKeyId, dstAccessKeySecret) if err != nil { fmt.Println("Error:", err) return } ``` 3. 获取源Bucket中的图片对象 ```go objName := "example.jpg" // 获取源Bucket中的图片对象 srcObj, err := srcClient.Bucket(srcBucketName).Object(objName) if err != nil { fmt.Println("Error:", err) return } ``` 4. 将图片对象从源Bucket下载到本地 ```go // 下载图片对象到本地 localFile := "./example.jpg" err = srcObj.DownloadToFile(localFile, 1024*1024) if err != nil { fmt.Println("Error:", err) return } ``` 5. 将本地图片对象上传到目标Bucket ```go // 上传本地图片对象到目标Bucket dstObj, err := dstClient.Bucket(dstBucketName).UploadFile(objName, localFile, 1024*1024) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Transfer succeeded:", dstObj.Key) ``` 这样,就完成了从源Bucket中的图片对象到目标Bucket图片对象的转移。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值