V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
BenchWidth
V2EX  ›  问与答

问一个关于上传阿里云 oss 的问题。

  •  
  •   BenchWidth · 2020-06-01 15:20:30 +08:00 · 1950 次点击
    这是一个创建于 1645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    当前上传的方式是后端提供接口,前端调用接口将文件上传。
    然而在近期项目更新一些新的需求,考虑到上传的文件过大,而且每个上传都是后端处理有可能服务器带宽不够。导致其他用户请求缓慢的用户体验变差。
    本来想将接口变为前端直接上传 oss,但是怕阿里云的密钥之类的东西暴露在外面,导致了一些安全问题。
    请问大家有什么好的解决方法没
    11 条回复    2020-06-02 10:54:26 +08:00
    MooRider
        1
    MooRider  
       2020-06-01 15:38:13 +08:00
    https://help.aliyun.com/document_detail/31869.html?spm=5176.8466032.0.0.790e1450smhjs3
    这个参考一下? 但好像还是没法解决直接指定 refer 工具的盗用..
    ZZZZone
        2
    ZZZZone  
       2020-06-01 15:45:05 +08:00
    可以看一下 B 站这个教学视频 BV1Pt411J7TU

    大概方式就是点击上传时前端请求后端获取临时上传连接,前端通过链接将文件直接上传到 OSS 。前端不涉及密钥一类的东西。
    rioshikelong121
        3
    rioshikelong121  
       2020-06-01 15:46:11 +08:00
    上传链接肯定是请求自己的后端服务器生成的带时效的 url 。 所以安全性还好
    cheese
        4
    cheese  
       2020-06-01 15:53:45 +08:00
    关键词 STS 临时授权
    seakingii
        5
    seakingii  
       2020-06-01 17:40:23 +08:00 via Android
    官网有文档 sts ,不过文档写的烂
    waitingChou
        6
    waitingChou  
       2020-06-01 17:43:12 +08:00
    楼上正解,用 sts 临时授权就可以。生成临时的密钥给前端,前端直接传上阿里云
    BenchWidth
        7
    BenchWidth  
    OP
       2020-06-01 17:58:22 +08:00
    @MooRider 好的,谢谢
    BenchWidth
        8
    BenchWidth  
    OP
       2020-06-01 17:58:40 +08:00
    BenchWidth
        9
    BenchWidth  
    OP
       2020-06-01 18:02:54 +08:00
    谢谢大家了
    rrfeng
        10
    rrfeng  
       2020-06-01 18:46:01 +08:00 via Android
    有一次性密钥(临时授权),直接上传即可。
    saltbo
        11
    saltbo  
       2020-06-02 10:54:26 +08:00
    https://github.com/saltbo/zpan/blob/master/api/url.go#L76 可以参考我之前写的一个网盘
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5945 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.