所以这似乎应该很容易...每个人都说只是使用config.asset_host
。当我设置,虽然,我的应用程序内的所有链接仍然指向S3。Cloudfront + Carrierwave
CarrierWave.configure do |config|
config.storage = :fog
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => AWS_ACCESS_KEY_ID,
:aws_secret_access_key => AWS_SECRET_ACCESS_KEY,
:region => 'us-east-1'
}
config.fog_authenticated_url_expiration = 3.hours
config.asset_host = "http://xyz123.cloudfront.net"
config.fog_directory = S3_BUCKET_NAME
config.fog_public = false
config.fog_attributes = {
'Cache-Control' => "max-age=#{1.year.to_i}"
}
end
这里是我打电话给我的文件...
image_tag book.attachments.first.filename.file.authenticated_url(:thumb175)
它看起来对我来说,public_url
预先考虑适当的主机,但它需要0参数...所以我怎么通过正确的response-content-disposition
和response-content-type
和链接到期时间?