微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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的任何人.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐