在尝试从S3存储桶中获取图像时,突然Refile
gem开始抛出Aws::S3::Errors::Forbidden:
错误。虽然我能够上传/获取新图像,但只有旧文件才会出现此问题。
我尝试向S3添加新的存储桶策略,如下所述:https://github.com/aws/aws-sdk-ruby/issues/201但似乎没有一个对我有用,可能是我没有写正确。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket/*",
"arn:aws:s3:::bucket"
]
}
]
}
下面是错误日志:
Aws::S3::Errors::Forbidden:
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/aws-sdk-resources-2.6.4/lib/aws-sdk-resources/resource.rb:134:in `rescue in exists?'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/aws-sdk-resources-2.6.4/lib/aws-sdk-resources/resource.rb:131:in `exists?'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/refile-s3-0.2.0/lib/refile/s3.rb:126:in `exists?'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/bundler/gems/refile-d7a42dcd7cf6/lib/refile/backend_macros.rb:11:in `block (2 levels) in verify_id'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/bundler/gems/refile-d7a42dcd7cf6/lib/refile/file.rb:53:in `exists?'
from (irb):3
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/deploy/hutfy/shared/bundle/ruby/2.3.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:8:in `require'
from bin/rails:8:in `<main>'
答案 0 :(得分:1)
事实证明服务器上的时钟和S3不同步。 在命令下运行解决了问题:
sudo apt-get install ntp
service ntp stop
sudo ntpdate -s 0.amazon.pool.ntp.org
service ntp start