viv*_*oit 4 ruby-on-rails heroku amazon-cloudfront
这是关于一个在后面运行并提供来自附加组件的图像的Rails
应用程序。Heroku
CloudFront
ActiveStorage
Bucketeer
在应用程序本身中缓存配置Rails
,并且CloudFront
针对css
、js
甚至关键的重要请求(例如搜索结果、从 API 获取的第三方信息等)进行正确定位。
我不知道如何缓存来自Bucketeer
附加组件的图像。
现在,这些图像似乎Bucketeer
每次都来自桶中。它们显示时没有缓存 TTL。
我希望它们在 CloudFront 级别和访问者的浏览器级别上缓存长达一年。
这可能吗?
看来Bucketeer
附加组件本身无法让我们控制存储桶和/或服务如何处理缓存。
在哪里可以强制这些文件显示缓存指令?
感谢您在这里分享您的发现
此外,我发现S3Service
接受上传选项
https://github.com/rails/rails/blob/6-0-stable/activestorage/lib/active_storage/service/s3_service.rb#L12
所以你可以将以下代码添加到你的storage.yml
s3:
service: S3
access_key_id: ID
secret_access_key: KEY
region: REGION
bucket: BUCKET
upload:
cache_control: 'public, max-age=31536000'
Run Code Online (Sandbox Code Playgroud)
有关可用选项的完整列表,请参阅 AWS SDK
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |