【问题标题】:Serving only image assets from CloudFront with Rails使用 Rails 仅提供来自 CloudFront 的图像资产
【发布时间】:2014-08-04 10:18:51
【问题描述】:

我最近转而使用 CloudFront 作为 CDN 来使用简单的方式为我的资产提供服务

config.action_controller.asset_host = "url of your cloudfront distribution" 在我的配置文件中。

一切正常,CF 提取它没有的资产,为它们提供良好的服务,比使用资产管道更快。

但是,由于各种原因,我们的一些 JS 在从 CF 而不是我们自己的服务器提供服务时会中断。所以我正在寻找一种仅将 CF 用于图像(或图像/css)资产的方法,并且仍然直接从我们自己的服务器提供已编译的 application.js 文件。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails asset-pipeline cdn amazon-cloudfront


    【解决方案1】:

    Rails 允许您将 config.action_controller.asset_host 设置为 proc。这样,您就可以对资产主机的选择进行尽可能多的控制。例如:

    config.action_controller.asset_host =  Proc.new { |source|
      if source.ends_with?('.jpg')
        "http://cdn.example.com"
      else
        nil
      end
    }
    

    有关详细信息,请参阅api docs

    【讨论】:

      猜你喜欢
      • 2011-09-27
      • 2016-05-22
      • 1970-01-01
      • 2015-07-25
      • 2015-09-14
      • 1970-01-01
      • 2013-01-06
      • 2011-08-04
      • 2012-03-19
      相关资源
      最近更新 更多