将上传的Amazon S3图像合并到CloudFront中

时间:2015-10-08 11:43:15

标签: ruby-on-rails amazon-web-services amazon-s3 carrierwave

我开始将CloudFront集成到令人兴奋的Rails应用程序中,CloudFront的一切工作正常,但旧的上传图像无法访问。

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',                        
    :aws_access_key_id      => ENV['AWS_ACCESS_KEY_ID'],     
    :aws_secret_access_key  => ENV['AWS_SECRET_ACCESS_KEY'], 
  }
  config.asset_host     = ENV['CLOUDFRONT_ENDPOINT']
  config.fog_directory  = 'oktob-editor'                     
  config.fog_public     = true                                        
  config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"}
end

旧上传图片的示例

https://oktob-editor.s3.amazonaws.com/uploads/post/image/127/thumb_Ruby_on_Rails.svg.png

在我整合CloudFront并设置asset_host后,它变为

http://ID.cloudfront.net/uploads/post/image/127/thumb_Ruby_on_Rails.svg.png

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>D368D2E641BBBB64</RequestId><HostId></HostId></Error>

是否有一种方法可以使旧图像与CloudFront正常工作

1 个答案:

答案 0 :(得分:0)

似乎将“限制存储桶访问权限”更改为“是”使其正常工作

enter image description here