目前公司游戏客户端资源存放在阿里云oss上,通过配置cdn回源oss实现提高资源访问的速度,安全性,节约带宽,增加用户体验,整个原理和访问链路是这样的:

  1. 用户通过浏览器或其他客户端发起访问,请求到达CDN 节点。
  2. CDN 节点检查本地缓存,如果缓存命中,则直接返回缓存内容给用户,否则进行回源请求。
  3. 回源请求被发送到您配置的源站地址,即阿里云 OSS。
  4. 阿里云 OSS 接收到回源请求后,根据请求中的信息获取相应的资源,并将资源返回给 CDN 节点。
  5. CDN 节点收到响应后,将资源缓存到本地,并将资源返回给用户。

但是现在遇到一个问题因为和业务没有沟通好,导致业务方安装包中引用的一部分客户端资源链接是oss的链接(xxx.oss-cn-hangzhou.aliyuncs.com/dl/video/xxx.mp4),这样访问虽然不会出现问题,但是也会造成部分流量浪费,因为oss流量进出也是额外收费的,为了解决流量访问直接到oss,而不是通过cdn的方式访问所造成的流量滥用情况,我们可以做bucket授权策略,当然整个前提是和业务提前沟通好再这么做


一,打开bucket列表

解决阿里云oss流量滥用问题_客户端


二,找到对你需要修改的项目bucket,点击进入,在左边侧栏找到权限控制功能页,下翻后展示Bucket授权策略这么个选项,点击进入

解决阿里云oss流量滥用问题_缓存_02


三,点新增授权,将cdn回源ip列表都添加到访问白名单上去,整个回源ip列表需要你和cdn服务商要才有

解决阿里云oss流量滥用问题_客户端_03



四,新增授权,公司ip添加到访问白名单上去,并且授权操作给读写,当然这个权限的颗粒度可以继续给详细,授权操作项又高级设置可以选择的

解决阿里云oss流量滥用问题_API_04


整个测试过程

第一步:先将第3步骤的策略七牛云cdn回源ip列表添加上去,然后用公司网访问oss域名资源路径http://xxxx.oss-cn-hangzhou.aliyuncs.com/API.py,不可访问则表明策略生效

第二步:将第4步骤的策略公司ip添加上去,然后用公司访问访问oss域名资源路径http://xxxx.oss-cn-hangzhou.aliyuncs.com/API.py,可以访问则表明策略生效

第三步:用阿里云api方式上传文件到这个bucket上,然后用cdn域名访问刚上传的资源https://xxxx.xxxx.cn/API.py,可以访问则表明策略生效

第四步:不用公司的网,直接访问oss域名资源路径http://xxx.oss-cn-hangzhou.aliyuncs.com/API.py,不可访问则表明整个策略已经生效了