阿里云oss全解析

前提:

1.服务器:阿里云OSS
2.前端:vue或小程序
3.后端:egg

一、上传概述

场景:小程序+阿里云OSS
现在阿里云上传权限分两类 RAM和STS,所以针对两者的上传方式进行一次全解析。

二、上传文件的几种方式

2.1.客户端直传:

通过客户端直接签名的方式,进行直传,具体见例子: web前端直传,文档中已经讲的很详细了,这里就不赘述了,我们说一下它的缺点,缺点很明显:就是因为账户和秘钥都保存在js中,而用户可以通过前端debug(按F12)查阅到,秘钥完全暴露非常不安全。

2.2.上传到服务器再通过服务器直传

当然这种情况不在我们的考虑范围内,今天主要讲WEB直传的方式,但是基于node我们还是提一下。我在查询资料的时候,发现有人先把文件上传到服务器,再通过服务器后端直传到OSS系统,然后再把服务器上的文件删除。详见上传文件

这样的确会让上传安全很多,但是随之而来的问题就是会加大服务器的压力,每一次上传都要删除本地的文件。很占用带宽,如果上传量大的时候,容易出现问题。

2.3.服务器端签名后直传

这种情况相对于上一种,较安全,秘钥是保存在服务器端。通过服务器向阿里云请求获取签名(临时token)返回给前端,签名正确后直传OSS系统。这种情况下相较于前两种方式是比较好的。既可以保证安全性,又可以减轻服务器端的压力。

三、OSS实践