我尝试通过CloudFront为我的Rails应用程序提供使用Paperclip上传的图像。我已阅读了很多帖子,发现以下配置应该有效:
has_attached_file :content, {
:styles => {
:medium=> "300x300>",
:thumb=> "100x100#",
:medium_square=> "700x500#",
:facebook=> "1200x630>",
:large=> "1920x"
},
:convert_options=> {
:all=> '-strip -interlace Plane'
},
:default_url=> "/images/:style/missing.png",
:path=> ":attachment/:id/:style.:extension"
:url=> ':s3_alias_url',
:s3_host_alias=> ENV['CLOUDFRONT_URL'],
:s3_credentials=> {
:bucket=> ENV['FOG_DIRECTORY'],
:access_key_id=> ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key=> ENV['AWS_SECRET_ACCESS_KEY']
}
}
但是,它不是将请求发送到CloudFront URL,而是在请求路径中使用':s3_alias_url'
作为字符串,如下所示:
http://application.com/pages/:asset_host?1446851994
我也尝试使用':asset_host'
作为选项,但结果相同 - 它被视为字符串。