阿里云对象存储 OSS 限流超过阈值自动关闭【防破产,保平安】

场景


使用对象存储,遇到恶意盗刷流量,不能及时发现,搞不好会“破产”的。市面上的云服务器对象存储,都没有带宽限制(单链接限速不算),也没有超过流量阈值,自动停止的功能。甚至有些拒绝恶意IP访问都不可以。。。这种状况已经持续很多年了

(设置referer 设置防盗链是挡不住恶意刷流量的 https://help.aliyun.com/document_detail/31869.html )


“对象存储破产案例“:D

https://www.v2ex.com/t/269463?p=1

https://developer.aliyun.com/ask/196191

https://segmentfault.com/q/1010000000718083

https://segmentfault.com/q/1010000007911554


原因

阿里云给的解释是“考虑到一键关闭会导致客户的业务受到影响,因此OSS暂时没有提供此功能”。

网上有人说,貌似是因为对象存储的结构不能及时统计用户的流量使用。对一些超级流量大户,短时间也会有巨额流量费用。。。阿里云,七牛云都没有这个。



解决方法

我发现一种方法好像可以解决。是个好思路,过阵子,些代码测试一下。原理是,对象存储报警有个回调功能,可以使用回调功能请求 OSS 的接口,修改 OSS Bucket 的读写权限为私有,这样直接禁止所有人消耗 OSS 流量。


第一步,对象存储报警




第二步,回调设置对象存储读写权限


对象存储 OSS API 中有个接口 PutBucketACL,可以设置 Bucket 的读写权限。PutBucketACL 接口用于修改存储空间(Bucket)的访问权限。

PUT /?acl HTTP/1.1
x-oss-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue


PutBucketACL接口通过Put请求中的x-oss-acl请求头来设置权限,如果没有该请求头,权限设置不生效。

取值:public-read-write、public-read、private。


https://help.aliyun.com/document_detail/31960.html



修改时间 2021-01-15

真诚赞赏,手留余香
赞赏
随机推荐
HTTP 协议入门
Node.js 文件系统
thinkcmf 2 获取所有兄弟栏目, 并高亮当前栏目
基于RTMP协议的Flash流媒体网页直播播放器
如何使用 Photoshop 设计 APP UI
PHP的UTF-8中文转拼音处理类(性能已优化至极致)
mysql无法启动ERROR! MySQL is running but PID file could not be found
thinkcmf文章列表 获取子分类的所有文章
npm err Cannot read property '0' of undefined
Git 重写历史,修改commit 的注释