ruby-on-rails - 使用 Cloudfront 从 S3 提供图像

标签 ruby-on-rails amazon-web-services amazon-s3 amazon-cloudfront

我有一个用于上传图像的 S3 存储桶。然而,我所有的静态内容都是通过 Cloudfront 分发提供的,或者至少应该是这样。

当我查看我的页面源代码时,它表明所有静态内容(我的 S3 存储桶中的图像除外)均由 Cloudfront 提供。 S3 中的图像仍然由 S3 提供。

我试过我的设置,但似乎无法解决这个问题。

目前在我的 Cloudfront 发行版中我有以下设置:

  1. 来源指向我的网址 (foo.herokuapp.com)
  2. 指向我的 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/

相关文章:

html - 使 div 在 div 之上一起响应

ruby-on-rails - find_or_create 竞争条件

django - 您如何使用 AWS Elastic Beanstalk 运行工作程序?

amazon-web-services - 跨维度查询 AWS CloudWatch 自定义指标

python - AWS lambda 克隆 git 存储库并使 zip 无法在 s3 中上传

amazon-s3 - 通过 S3 + CloudFlare 阻止 POST 请求?

css - 我的蓝图 CSS 不适用于列数不均匀的情况

ruby-on-rails - Coffeescript 访问 current_user

amazon-web-services - 使用动态策略启动 Fargate 任务

amazon-web-services - 无法访问 tmp 目录中的文件