何时使用 S3 预签名 URL 与通过后端上传

jos*_*osh 6 backend amazon-s3 pre-signed-url

我读过Amazon s3: direct upload vs presigned url并想知道何时使用从后端直接上传到 s3 与 presigned url。

  1. 我知道直接上传需要额外的带宽(用户 -> 服务器 -> s3),但我相信它更安全。使用预签名 URL 节省的带宽是否可以证明安全性方面的轻微缺陷(即用户消息之类的内容)?

  2. 我还在检查后端的文件类型(通过幻数),我认为这与预签名的网址不兼容。仅这个原因就应该导致不使用 url 吗?

  3. 此外,我的文件大小限制为 5 MB(不确定这是否算大?)。使用预签名 URL 与直接上传之间在性能和可扩展性(即每小时发送数千到数百万个文件)方面是否存在显着差异。

lgd*_*tro 3

你的问题听起来像是在征求意见,所以我的如下:

  1. 这取决于您需要它的安全程度以及您认为什么是安全的。我想知道同样的问题,我相信就我而言,最终,无论如何,它都是通过 SSL 加密来保护的(这对我来说已经足够了),所以我更喜欢节省我的服务器带宽和内存使用量。

  2. 这再次取决于您自己的系统要求。无论如何,如果任何上传失败,S3 都会在请求失败后返回错误原因。如果检查文件类型是必须的,并且在后端检查它是唯一的方法,那么您已经有了答案。

  3. 在每小时发送数百万个文件(每个文件接近 5MB)的情况下,我建议直接上传,因为接收和重新发送每个文件会占用大量 RAM。

直接上传到 S3 还有更多优点,您可以在此处阅读