尝试让EB使用S3存储桶。 我以为我遵循了所有说明,但是无法上传pdf来显示(目前“许可被拒绝”)。我早先在heroku + S3上工作,所以知道它在理论上有用。
设置
错误 查看上传的文件(pdf)时给出 AccessDeniedAccess Denied5CDDC975006C7C62h3ohBvPu8hXYIZkwLsgF / k0akNuLjyaOpbBzgsxmgtesQ / UJBlOH6phRrsr0tPowNFBFZ7LCI7M =
上传了doc S3路径
根据生成的html页面
尝试
无法让它发挥作用。打赌它明显的东西!?
希望别人能比我更快地发现任何想法
本
编辑1 - 我注意到人们谈到看到logs in EB console,但我所能做的就是下载最后100行或完整的EC2日志。没有我的日志提到S3错误(除了回形针上传文件),没有返回代码。 我还注意到我的S3存储桶没有写任何日志(即使在同一区域附加了一个单独的日志存储桶)
Paperclip config
config.paperclip_defaults = {
:storage => :s3,
:s3_region => 'ap-southeast-2',
:s3_permissions => :private,
:s3_protocol => 'https',
:s3_host_name => 's3-ap-southeast-2.amazonaws.com',
:s3_endpoint => 's3-ap-southeast-2.amazonaws.com',
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
}
}
角色
角色政策aws-elasticbeanstalk-ec2-role
EB配置环境变量
S3示例上传文件权限
答案 0 :(得分:0)
我混合S3政策&访问控制列表。这个配置是罪魁祸首
:s3_permissions => :private,
如果删除它就会公开!
这有一个很好的解释:https://thewebfellas.com/blog/protecting-your-paperclip-downloads,其中列出了ACL:http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html