将上传的 Amazon S3 图像合并到 CloudFront
Merge uploaded Amazon S3 images into CloudFront
我开始将 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 一起正常工作
似乎将“限制存储桶访问”更改为“是”使其起作用
我开始将 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 一起正常工作
似乎将“限制存储桶访问”更改为“是”使其起作用