ruby-on-rails – 自动将资产上传到S3而不使用asset_sync

我刚刚第一次部署到Heroku,除了我的图像,资产工作.当我找到这个要点时,我正在阅读有关如何将资产移至s3(然后使用cloudfront缓存它们)的信息:

https://gist.github.com/schneems/9374188
“我讨厌asset_sync”

Using asset sync can cause failures,is difficult to debug,un-needed,and adds extra complexity. Don’t use it. Instead use 07001

问题是,我找不到如何像gem一样自动同步资产.什么是使用asset_sync gem的最佳替代方案?

解决方法

虽然一个老问题,如果有人发现这个问题,并希望得到答案,这是我自己的发现.

一段时间以来,Cloudfront一直允许用户在其配置上设置原始值.您想将其设置为您的应用程序主机.如果您要部署到可通过https://myapp.com访问的站点,那么您可以将其用作Cloudfront源.然后,来自Cloudfront的任何缓存未命中都将路由到您的应用程序层https://myapp.com,附加请求中存在的任何路径信息(例如/assets/css/whatever.css.这意味着您的应用程序必须能够提供这些静态资产.如果可以的话,那么你就完全了.如果没有,请查看Rails指南,了解如何启用它.

警告!您不能使用不可公开访问的URL作为原点.那是什么意思?例如,如果要配置隐藏在VPC后面的自己的预生产应用程序实例,则不能将这些实例用于原始实例.无法为Cloudfront授予对您的实例的特殊访问权限.如果您在serving private content上阅读Cloudfront的文档,则有一种解决方法;基本上,您可以向具有相应链接的任何人公开访问您的应用程序,但是您强制执行应用程序级约束以禁止访问不使用特殊签名URL或cookie的任何人.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...