来自云端的动态内容 - 我可以从 Rails 中放置 API 结果 (JSON) 吗?

Posted

技术标签:

【中文标题】来自云端的动态内容 - 我可以从 Rails 中放置 API 结果 (JSON) 吗?【英文标题】:Dynamic content from cloudfront - can I put API results (JSON) from Rails? 【发布时间】:2012-10-20 18:03:54 【问题描述】:

我看到 CloudFront 支持动态内容。

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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

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

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

【讨论】:

以上是关于来自云端的动态内容 - 我可以从 Rails 中放置 API 结果 (JSON) 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Django 有没有像 Ruby on Rails 有 Heroku 这样的东西

源请求 lambda 不会从源返回任何内容

我如何在网站上显示来自Google云端硬盘的图像?

如何在rails提交按钮中放置图标

从模型动态填充大地图

如何通过 https 和 heroku 上的 rails 服务云端资产?