我正在运行一个 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。我也尝试指定 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'
谢谢你。
最佳答案
您可以尝试覆盖 url
ActiveStorage::Service::S3Service
的方法
附言使用 bucket: ''
在您的 config/storage.yml
关于ruby-on-rails - 是否可以为 ActiveStorage 指定自定义 CDN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140960/