是否可以为ActiveStorage指定自定义CDN?

时间:2019-05-15 02:21:11

标签: ruby-on-rails cdn rails-activestorage

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

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

我的DigicalOcean仪表板上的所有内容均已设置。但是我想知道是否可以在ActiveStorage上使用assets.akinyele.ca

我尝试不指定自动失败的bucket,因为它看起来像ActiveStorage API需要该字段,并使用它来构建空间存储服务的URL。我还尝试将endpoint设置为assets.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'

谢谢。

1 个答案:

答案 0 :(得分:0)

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

P.S。在您的bucket: ''中使用config/storage.yml