从 angular 前端访问 S3 中的私有数据
Acces private data in S3 from angular front end
我在市场上工作。
我的后端在私人 S3 中上传了许多电子书、预览和屏幕截图。
当我登录用户仪表板时,后端向我发送有关我上传的电子书的元数据。
在电子书中,我有例如屏幕截图 url。
当我想使用 url 显示屏幕截图时,访问被拒绝。
仪表板的另一部分是 public,因此我可以显示所有电子书的封面,例如亚马逊,这样我们就可以访问很多。
如何使用aws sdk或其他方法显示屏幕截图、封面,使用后端发送的urls?我如何告诉 s3 允许我的 angular 前端访问 s3 中的文件?
PS:我不能使用预签名url,因为我们每天将有百万次访问。
can't use presigned url
如果您不能使用预签名 URL,那么您只有两个选项可以从前端访问 S3 images/files:
- 将它们全部设为 public,可能在单独的存储桶或前缀中。
- 设置 CloudFront distribution 以从 S3 服务器提供静态文件。这样你的桶或它的对象就不必是 public.
我在市场上工作。 我的后端在私人 S3 中上传了许多电子书、预览和屏幕截图。
当我登录用户仪表板时,后端向我发送有关我上传的电子书的元数据。 在电子书中,我有例如屏幕截图 url。 当我想使用 url 显示屏幕截图时,访问被拒绝。
仪表板的另一部分是 public,因此我可以显示所有电子书的封面,例如亚马逊,这样我们就可以访问很多。
如何使用aws sdk或其他方法显示屏幕截图、封面,使用后端发送的urls?我如何告诉 s3 允许我的 angular 前端访问 s3 中的文件?
PS:我不能使用预签名url,因为我们每天将有百万次访问。
can't use presigned url
如果您不能使用预签名 URL,那么您只有两个选项可以从前端访问 S3 images/files:
- 将它们全部设为 public,可能在单独的存储桶或前缀中。
- 设置 CloudFront distribution 以从 S3 服务器提供静态文件。这样你的桶或它的对象就不必是 public.