我们有一个登台服务器设置来使用与我们的生产服务器不同的 S3 存储桶,但这需要我们手动同步存储桶之间的图像,以便在登台时查看图像。由于我们有数以万计的图像(每天都在增长),这是不可行的。
无论如何配置 Carrierwave 以从我们的生产 S3 读取图像,但将任何新图像写入暂存 S3(以免污染我们的生产图像存储)?
更新:我已经尝试为 CarrierWave 创建一个自定义存储引擎来执行此操作(请参阅此要点——除第 228 行外,与雾存储引擎基本相同),但在尝试获取时出现此错误图片:
Excon::Errors::SocketError (hostname does not match the server certificate (OpenSSL::SSL::SSLError)):
lib/carrier_wave/storage/dual_fog.rb:214:in `exists?'
lib/carrier_wave/storage/dual_fog.rb:228:in `public_url'
lib/carrier_wave/storage/dual_fog.rb:267:in `url'
有谁知道这是为什么?正如您从 gist 中的代码中看到的那样,我希望此解决方案能够从暂存中读取,并在暂存时找不到图像时回退到生产。但是,所有写操作都应该只进入暂存阶段。