简体   繁体   English

将Amazon S3图像合并到CloudFront中

[英]Merge uploaded Amazon S3 images into CloudFront

I started to integrate CloudFront into my exciting Rails App, everything with CloudFront is working fine, except that the old uploaded images can't be accessed. 我开始将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

Example of old uploaded image 旧的上传图片示例

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

After I integrated CloudFront and set asset_host it becomes 集成CloudFront并设置asset_host它变为

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

with

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

So is there a way that enable old images to work properly with CloudFront 那么有没有一种方法可以使旧映像与CloudFront一起正常工作

Seems like changing the Restrict Bucket Access to Yes makes it to work 似乎将“限制存储区访问”更改为“是”使其正常工作

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM