程序员

为你的MiniOSS起个好名字

作者:admin 2021-04-18 我要评论

在之前的文章中,我们介绍了阿里云的MiniOSS,一种可以完全兼容阿里公共云OSS服务的一个硬件设备,这个设备在交付形式上类似于在线下数据中心中广泛磁盘阵列,因...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

在之前的文章中,我们介绍了阿里云的MiniOSS,一种可以完全兼容阿里公共云OSS服务的一个硬件设备,这个设备在交付形式上类似于在线下数据中心中广泛磁盘阵列,因此在成本和可维护性上相对于阿里专有云要精简太多,这里有种昔日王谢堂前燕,飞入寻常百姓家的感觉。

在向MiniOSS写入数据时有两种寻址定位方法,可以用IP地址也可以域名,两种方式的格式有一定区别:

IP地址:http://200.200.200.200/bucketname域名:http://bucketname.oss.domainname.com

这里的bucket是OSS的存储容器,相当于我们windows操作系统上的盘符,就像一台PC上可以有多个盘符一样,在一套MiniOSS上可以创建多个Bucket。在使用IP地址时bucket的名字放在IP地址的后面,而使用域名时bucket的名字要放在endpoint的前面。这个endpoint在公共云代表一个地域下的OSS的服务入口,而在minioss上则用来定位minioss设备本身,在我们这个例子中endpoint是oss.domainname.com,OSS的客户端通过解析这个域名来定位minioss所在的IP地址。

假如你希望写入MiniOSS的数据使用HTTPS加密传输,则需要申请对应域名的证书并绑定到MiniOSS设备上去,这个过程相当于给MiniOSS取名。因为既要定位bucket也要定位endpoint,所以我们的MiniOSS至少需要一个endpoint的域名及一个或多个bucket的域名,因为在使用域名的情况下在endpoint前加上bucket的前缀就是bucket的域名,因此这里的关键就是为endpoint来分配域名了。

因为我们的目标是申请对应域名的证书,所以站在证书的申请这个角度,我们举的这个例子oss.domainname.com 就不是一个特别好的名字,因为需要有多个bucket,所以我们需要申请的是泛域名证书,也就是*.oss.domainname.com,而以泛域名证书的匹配规则,这个证书可以匹配bucket01.oss.domainname.com、bucket02.oss.domainname.com、……,但无法匹配oss.domainname.com,也就是说三级的泛域名证书无法匹配二级域名,这样在需要对endpoint进行操作时我们还需要一个额外的单域名证书oss.domainname.com。而一套MiniOSS目前只能部署一套证书,要解决这个问题我们还需要增加一些额外的架构,这个问题我们这次暂且不展开,留到下次讨论。

能不能只申请一个证书就同时满足endpoint和多个bucket的使用需求呢,答案当然是可以的,那就是直接使用一级域名来命名endpoint,二级域名来命名bucket,举个例子:

endpoint: https://domianname.combucket: https://bucket01.domainname.com、https://bucket02.domainname.com、……

因为根据泛域名的匹配规则,二级泛域名*.domainname.com 既能够匹配bucket01.domainname.com、bucket02.domainname.com、……也能够匹配domainname.com这个一级域名本身,这一点和三级泛域名不同。

正常情况下,我们现有的一级域名一般都已经用于门户等业务应用场景,所以,我的建议是最好为你的MiniOSS重新申请一个一级域名,并申请这个域名下的二级泛域名证书。


本文转自网络,原文链接:https://developer.aliyun.com/article/783615

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库

腾讯云代理商
海外云服务器