我试图让carrierwave
使用Amazon S3(在我的Rails 4应用中),我使用fog
gem将图像上传到s3
。
我目前已成功将文件上传到我的存储桶。但我无法恢复图像。服务器提供403 (Forbidden)
错误
但是,如果我检查图像,则会在S3中上传。我的图像路径类似于
https://<bucket name>.s3.amazonaws.com/uploads/image/picture/8/card_34676_l.jpg&Signature=<signature>&Expires=<expires>
以下是我的carrierwave
配置
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => '<key>',
:aws_secret_access_key => '<access key>',
}
config.fog_directory = '<bucket name>'
config.fog_public = false
config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"} # optional, defaults to {}
end
我已使用
为everyone
设置了默认的受让人权限
并设置默认CORS Configuration
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
可能缺少什么?