All of a sudden Refile gem has started throwing Aws::S3::Errors::Forbidden: error while trying to fetch images from S3 bucket. Although I am able to upload/fetch new images, this issue occurs only for older files.
I tried adding new bucket policy to S3 as mentioned here: https://github.com/aws/aws-sdk-ruby/issues/201 but none seemed to work for me, may be i didn't write it correct.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket/*",
"arn:aws:s3:::bucket"
]
}
]
}
below is the error log:
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>'
It turns out the clock on server and S3 were out of sync. running below command resolved the issue: