gpt4 book ai didi

ruby-on-rails - 无需 assets_sync 自动将 Assets 上传到 S3

转载 作者:数据小太阳 更新时间:2023-10-29 07:39:05 24 4
gpt4 key购买 nike

我刚刚第一次部署到 Heroku,除了我的图像, Assets 工作。当我发现这个要点时,我正在阅读有关如何将 Assets 移动到 s3(然后使用云端缓存它们)的信息:

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 https://devcenter.heroku.com/articles/using-amazon-cloudfront-cdn

问题是,我找不到如何像 gem 那样自动同步 Assets 。使用 asset_sync gem 的最佳替代方法是什么?

最佳答案

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

一段时间以来,Cloudfront 允许用户在他们的配置中设置一个 origin 值。您希望将其设置为您的应用程序主机。如果您要部署到可通过 https://myapp.com 访问的站点,那么您可以将其用作您的 Cloudfront origin。然后来自 Cloudfront 的任何缓存未命中都将路由到位于 https://myapp.com 的应用程序层,附加请求中存在的任何路径信息(例如 /assets/css/whatever.css 。这意味着您的应用程序必须能够为这些静态 Assets 提供服务。如果可以,那么一切就绪。如果不能,请查看 Rails 指南以了解如何启用它。

警告!您不能来源 使用不可公开访问的 URL。那是什么意思?例如,如果您正在配置自己的隐藏在 VPC 后面的预生产应用程序实例,那么您不能将这些实例用于您的 origin。 Cloudfront 不能被授予对您的实例的特殊访问权限。如果您阅读 Cloudfront 关于 serving private content 的文档,就有一个解决方法;基本上,您让任何拥有适当链接的人都可以公开访问您的应用程序,但您强制执行应用程序级限制以禁止任何不使用特殊签名的 URL 或 cookie 的人访问。

关于ruby-on-rails - 无需 assets_sync 自动将 Assets 上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32419240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com