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

The*_*ntu 6 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。我也尝试指定endpointto 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'
Run Code Online (Sandbox Code Playgroud)

谢谢。

小智 3

您可以尝试重写url方法ActiveStorage::Service::S3Service

PSbucket: ''在你的config/storage.yml