6

我看到 CloudFront 支持动态内容。

谁能指导我如何在 Rails 中执行此操作?例如,我有 api.test.com/popular.json,我希望最好从 CloudFront 提供它,但可能每隔几个小时更新一次。

对于静态资产,我已经能够使用 Rails 的asset_host 设置来做到这一点。但是我还没有找到足够的关于动态内容的指南。任何指针都会很有用。

4

1 回答 1

1

您无需将您的 rails 应用程序与 CloudFront 集成。相反,您可以设置 CloudFront 以缓存您的网站:

  1. 转到 AWS 控制台并添加新的 CloudFront 分配
    • 网络交付方式
    • 来源域名myexistingdomain.com

您可以保留所有默认值。可以设置最小/默认/最大 TTL 选项以强制执行特定的缓存时间,这可能是必要的,具体取决于您的服务器设置。

  1. myexistingdomain.com,您必须设置Access-Control-Allow-Origin标头以包含您的 Cloudfront 分配的域名。

您可能已经体验过,CloudFront 上的大多数更新或添加源通常需要大约 20 分钟,因此请耐心等待。

此外,如果您需要在您的 rails 应用程序中使用查询参数、cookie 或特殊标头,则必须将它们包含在您的 CloudFront 分配的缓存设置中。请注意,这会降低分发的效率。

于 2017-01-09T17:02:31.483 回答