【发布时间】:2020-04-23 17:58:24
【问题描述】:
我的网站上有图片上传功能 - 我将图片直接上传到 s3 存储桶。我所做的是公开该存储桶,在我的网站上获取图像并使用来自 s3 存储桶的图像的公共链接将它们显示为 html img 标签。
我网站的用户会将这些图片(可能作为链接)用于他们的网站。我可以在这里看到几个问题:
- 图片链接是指向 aws 的直接链接
- 整个桶都是公开的
- 会有很多不可预知的读取
在此处使用 cdn 是一个更好的主意(可能是 cloudfront)。但是如何将 cdn 集成到这个过程中?
我可以直接将图片上传到 cdn,而不将它们存储在 s3 中吗?如果我有 cdn,为什么还需要 s3?
有什么建议吗?非常感谢!
【问题讨论】:
-
S3 是存储,CDN 是前端,所以通常您需要存储才能拥有 CDN 支持(或前端)的东西。
-
如果您已公开存储桶,那么是的,任何人都可以访问这些对象。如果您希望控制访问,请遵循以下建议:My S3 Bucket Policy only applies to some Objects
-
这些对象应该可供任何人查看。我担心如果人们生成太多读取以及 URL 的成本(如果我更改我的 aws 帐户的区域并且所有图像 url 将突然具有不同的域?)
标签: php laravel amazon-web-services amazon-s3