来自cloudfront的动态内容 - 我可以从Rails中提取API结果(JSON)吗?

时间:2012-10-31 09:53:45

标签: ruby-on-rails json caching amazon amazon-cloudfront

我看到cloudfront支持动态内容。

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

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

1 个答案:

答案 0 :(得分:0)

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

  1. 转到AWS控制台并添加新的CloudFront分配
    • 网络投放方式
    • 原始域名myexistingdomain.com
  2. 您可以保留所有默认值。可以设置最小/默认/最大TTL选项以强制执行特定的缓存时间,并且可能需要这取决于您的服务器设置。

    1. myexistingdomain.com,您必须设置Access-Control-Allow-Origin标头以包含您的Cloudfront发行版的域名。
    2. 正如您可能已经体验过的那样,CloudFront上的大多数更新或添加原点通常需要大约20分钟,所以请耐心等待。

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