在heroku上的rails app中提供s3上托管的静态页面的最佳方法

时间:2014-05-14 17:26:37

标签: ruby-on-rails ruby heroku amazon-s3

我有一个动态的rails应用程序并且可以自行运行,但是我们还有一个s3存储桶,它有一堆html页面,不断更新和修改。

我正在寻找一个整体解决方案,它允许我将请求路由到静态文件以获取大量潜在页面,但也可以将应用程序用于动态页面。没有静态页面需要用户登录,但所有动态页面都需要用户登录。

我们目前还在使用heroku来提供应用程序,这是其他需要考虑的因素。

如何在不干扰应用程序的其余部分的情况下,在同一个域上快速提供这些静态页面的方法/宝石/想法是什么?

1 个答案:

答案 0 :(得分:0)

根据Heroku,你有3个选择:

  • 您可以使用page_caching。 page_caching已从rails4中删除,但仍然可以作为外部gem actionpack-page_caching使用,但是从我看到的,在heroku中不能正常工作(文件不会保留)。
  • 您可以通过HTTP标头使用缓存(实际上在客户端缓存数据)
  • 您可以使用Rack::Cache作为反向代理。

我认为对你的问题最好的解决方案是第三个。 Heroku建议您使用Rack::Cache。当然,您可以将其与HTTP标头结合使用。

您可以找到更多详细信息herehere