viv*_*oit 4 ruby-on-rails heroku amazon-cloudfront
这是关于一个在后面运行并提供来自附加组件的图像的Rails应用程序。HerokuCloudFrontActiveStorageBucketeer
在应用程序本身中缓存配置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 次 |
| 最近记录: |