我最近转而使用CloudFront作为CDN来使用简单的
来提供我的资产 config.action_controller.asset_host = "url of your cloudfront distribution"
在我的配置文件中。
一切运作良好,CF吸收的资产不是很好,服务得很好,比使用资产管道更快。
然而,由于各种原因,我们的一些JS在从CF而不是我们自己的服务器提供服务时中断。所以我正在寻找一种方法来将CF用于图像(或图像/ css)资源,并且仍然直接从我们自己的服务器提供已编译的application.js文件。
有什么想法吗?
答案 0 :(得分:4)
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。