ruby-on-rails - 是否可以为 ActiveStorage 指定自定义 CDN?

标签 ruby-on-rails cdn rails-activestorage

我正在运行一个 Ruby on Rails 网站,目前正在使用 Rails 的 ActiveStorage 来存储我的图像和视频。

我正在使用基于 AWS 的存储空间 (DigitalOcean),他们最近推出了对自定义 CDN 支持的支持。意思是,而不是引用 my-space.nyc3.digitalocean.com , 我会引用 assets.akinyele.ca .

一切都已在我的 DigicalOcean 仪表板上进行设置。但我想知道我是否可以使用 assets.akinyele.ca而是在 ActiveStorage 上。

我试过不指定 bucket自动失败,因为它看起来像 ActiveStorage API 需要该字段,并使用它来构建空间存储服务的 URL。我也尝试指定 endpointassets.akinyele.ca ,但这给了我 my-space.assets.akinyele.ca .

这是配置的一部分:

# config/storage.yml
local: #
development: #

# This is what I need to replace, and this is was I am using right now.
amazon:
  service: S3
  access_key_id: <%= ENV["TANOSHIMU_SPACE_ACCESS_KEY_ID"] %>
  secret_access_key: <%= ENV["TANOSHIMU_SPACE_SECRET_ACCESS_KEY"] %>
  region: nyc3
  bucket: my space
  endpoint: 'https://nyc3.digitaloceanspaces.com'

谢谢你。

最佳答案

您可以尝试覆盖 url ActiveStorage::Service::S3Service 的方法

附言使用 bucket: ''在您的 config/storage.yml

关于ruby-on-rails - 是否可以为 ActiveStorage 指定自定义 CDN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140960/

相关文章:

ruby-on-rails - Rails 6.1 中 Active Storage 的公共(public)访问

ruby-on-rails - 显示带有表单错误的事件存储验证错误

ruby-on-rails - 为仅限 Rails Api 的应用程序实现社交登录

cdn - Wowza+AWS Cloudfront 流可用性延迟

encoding - 在 Cloudfront 上接受编码 header 服务来自 Heroku Cedar 上 Rails 3.0.x 的 Assets

ruby-on-rails - 如何在事件存储中查找用户附件的总大小

ruby-on-rails - Rails fixtures 和命名空间模型 - ActiveRecord::Fixture::FixtureError

sql - 如何解决选择框中的 N + 1 问题?

android - 如何从 Android 应用程序访问 AWS 中的数据库(使用 Ruby on rails 制作)?

css - 有没有可以让你动态编译文件的CDN?