![](https://img.haomeiwen.com/i12521336/8628f0fd2e653eb8.jpg)
前言
小白后台仅仅只是一位小白Java
简单说一下前情回顾,上个月小白陪老板出去一起谈了一个大项目,其中涉及到大量的图片和视频存储,时间紧任务重,自建存储服务是不现实的了,小白计划采购 阿里云 OSS 服务来实现。
这篇文章里小白主要介绍了阿里云OSS配置 自定义域名 和 证书托管 以及申请阿里云 免费SSL证书 的流程,接下来有时间的话,我还会介绍一下如何基于阿里云OSS 服务端签名 + 前端直传 方式在 微信小程序 中实现上传文件,同时也会涉及到阿里云 STS + RAM 身份认证 相关的内容。
前置条件
- 具备阿里云官方帐号
- 阿里云已开通OSS功能
- 具备已通过备案的域名
小白这里幻想自己已通过备案的域名是 oss.lzr.com,要使用的OSS存储空间bucket名为 lzr-bucket;
自定义域名
将文件上传到阿里云 OSS 的 Bucket 后,阿里云会自动生成该文件的访问地址,我们可以使用此地址访问存储空间文件。如果我们想要通过自定义域名访问这些文件,需要将自定义域名绑定到文件所在的存储空间,并添加 CNAME 记录指向存储空间对应的外网域名。接下来我们介绍 绑定自定义域名 以及 添加域名解析 的步骤。
1. 新建Bucket
打开阿里云对象存储控制台界面,点击左侧 “+” 号新建Bucket。小白新建的Bucket名称为 lzr-bucket,区域选择了 华东1(杭州),其他选项自行根据需要设置。
![](https://img.haomeiwen.com/i12521336/4aa58fe39d97eece.jpg)
2. 绑定自定义域名
在 lzr-bucket 管理页,选择 域名管理 > 绑定用户域名,弹出框中添加自定义域名 oss.lzr.com 后提交 。添加的域名是你当前阿里云账号下管理的域名时,阿里云可以自动添加 CNAME 记录;非当前阿里云账号下的域名,则需要在你的域名服务商处手动添加CNAME记录。
小白的域名 oss.lzr.com 是在 西部数码 管理的,所以小白需要到西部数码手动完成域名解析,接下来也会给出手动添加CNAME的步骤。
![](https://img.haomeiwen.com/i12521336/458169ffafe9a9b7.jpg)
3. 添加CNAME记录
手动添加CNAME时,需要先知道我们Bucket的 阿里云公网域名 。阿里云OSS 华东1(杭州)的EndPoint(地域节点)公网域名为 oss-cn-hangzhou.aliyuncs.com,我们的Bucket公网访问域名为 lzr-bucket.oss-cn-hangzhou.aliyuncs.com 。
如下图所示,我们可以在 lzr-bucket 概览 页快速获取阿里云Bucket公网访问域名。
![](https://img.haomeiwen.com/i12521336/db69848ceb0a1dc3.jpg)
接下来登录 西部数码 域名服务商平台,手动添加CNAME,将自定义域名 oss.lzr.com 解析到 lzr-bucket 的公网访问域名 lzr-bucket.oss-cn-hangzhou.aliyuncs.com,解析记录类型为 CNAME 。
![](https://img.haomeiwen.com/i12521336/d80029f93934f908.jpg)
配置 CNAME 后,不同的域名服务商 CNAME 配置生效的时间也不同。你可以 ping 或 lookup 你所添加的域名,如果被转向 *.oss-cn-*.aliyuncs.com,即表示 CNAME 配置已经生效。
![](https://img.haomeiwen.com/i12521336/6196fb9be059ba92.jpg)
我们在 lzr-bucket 域名管理 页,找到已添加的自定义域名 oss.lzr.com,点击右侧的 域名绑定配置 可以看到 oss.lzr.com 映射到 lzr-bucket.oss-cn-hangzhou.aliyuncs.com,同样的,在这里也可以实现自定义域名 解除绑定 。
![](https://img.haomeiwen.com/i12521336/564db0f0dea5baf2.jpg)
![](https://img.haomeiwen.com/i12521336/3f3add7eaa2c4c6f.jpg)
到这里,我们就完成了阿里云OSS绑定自定义域名,接下来我们介绍如何申请 免费证书 以及进行SSL 证书托管 。
申请免费证书
很多场景下需要我们为自己的服务配置SSL证书支持,比如微信小程序开发要求必须使用 HTTPS 协议等。专业版的证书价格高昂,前期开发过程中一般都会选择免费证书。
1. 购买免费证书
打开阿里云SSL证书产品主页,点击 立即购买 进入购买主页,依次选择 免费型DV SSL > 立即购买,完成支付并进入阿里云 SSL证书控制台 。
需要注意到,完成免费SSL证书的购买并不代表已经可以使用免费证书,购买后还需要向证书厂商申请签发证书,只有完成审核/签发后才能下载并使用相应证书。
![](https://img.haomeiwen.com/i12521336/285f4498d64e7836.jpg)
2. 证书申请
在 SSL证书控制台,找到新购买的SSL证书,点击右侧 申请 弹出证书申请对话框。在证书申请对话框中依次输入证书要绑定的 域名 以及 域名验证方式 等信息后点击 下一步 进入域名DNS验证页。
这里需要说明的是,因为小白的域名不在当前阿里云账号下管理,而是在 西部数码 平台管理,所以这里小白选择的是 手动DNS验证,实际操作中大家可以根据实际情况选择其他验证方式。
![](https://img.haomeiwen.com/i12521336/a2a2805f8c343302.jpg)
![](https://img.haomeiwen.com/i12521336/1185107f44287476.jpg)
![](https://img.haomeiwen.com/i12521336/ad4ce1d000d78edb.jpg)
在上图中,我们获取到了手动DNS验证信息的 主机记录 和 记录值,下面我们到域名服务商平台下进行相应 TXT记录 类型解析,解析时注意不要将 主机记录 和 记录值 写反了。域名解析完成后点击 验证 即可,接下来就是等待SSL证书签发机构的审核了,通常情况下半小时左右即可通过,待审核通过后即可下载证书文件到本地备份。
![](https://img.haomeiwen.com/i12521336/2c43b7933077b43d.jpg)
证书托管
在 lzr-bucket > 域名管理 下,找到要托管证书的自定域名 oss.lzr.com ,点击右侧的 证书托管 打开证书托管弹窗,在证书托管弹窗里将之前下载到本地的SSL证书文件的 公钥&私钥 填入相应位置,点击 上传 完成证书托管。
![](https://img.haomeiwen.com/i12521336/40f96869ff58786e.jpg)
![](https://img.haomeiwen.com/i12521336/80602cb44f6078f7.jpg)
总而言之
阿里云OSS使用起来还是很方便的,但是项目中实际使用时还是要多考虑自身场景的需求和限制,比如是否需要绑定自定义域名、是否需要HTTPS支持?除此之外,还要考虑实现方案所采用的的身份认证方式是否够安全?有没有更加安全的身份认证方案?是使用服务端上传呢还是前端上传?采用前端上传方案时如何签名?是前端自签名呢还是服务端签名?
总而言之,实现功能很简单,至少看起来不难,要努力保持不断挖掘更优实现的执拗,不要成为一个只为实现功能而不断堆代码的码农。
网友评论