我有一个用于上传图像的 S3 存储桶。然而,我所有的静态内容都是通过 Cloudfront 分发提供的,或者至少应该是这样。
当我查看我的页面源代码时,它表明所有静态内容(我的 S3 存储桶中的图像除外)均由 Cloudfront 提供。 S3 中的图像仍然由 S3 提供。
我试过我的设置,但似乎无法解决这个问题。
目前在我的 Cloudfront 发行版中我有以下设置:
- 来源指向我的网址 (foo.herokuapp.com)
指向我的 S3 存储桶的来源:
-源域名指向我的S3 Bucket
- 指向/uploads 的原始路径(这是我的 S3 存储桶中的基本目录)
- Restrict Bucket Access set to Yes
- 尝试将 Origin Access Identity 设置为 Create new 并将 Update Bucket policy 设置为 yes。我检查了我的 Bucket Policy,它在其中创建了一个 Cloudfront Entry。
知道什么可能导致此设置无法通过 Cloudfront 检索我的 S3 内容吗?
最佳答案
When I look at my page source
S3 或 Cloudfront 设置中的任何内容都不会重写您的页面并更改那里的链接。
您的代码、您的 Web 框架,以及实际生成您的页面的任何内容都需要配置为在构建页面时使用 Cloudfront 而不是 S3。
关于ruby-on-rails - 使用 Cloudfront 从 S3 提供图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31087987/