ruby-on-rails 您尝试访问的存储桶必须使用指定的端点寻址

f2uvfpb9  于 2023-03-24  发布在  Ruby
关注(0)|答案(2)|浏览(182)

我在我最新的rails(4.2.6)项目中使用paperclip 5.0.0.beta2。该应用程序托管在Heroku上。我可以上传一张图像,它似乎存储在Amazon S3上的一个桶中。然而,在浏览器中,图像似乎有一个破碎的url,尽管它指向Amazon S3上的桶,url是:
http://s3.amazonaws.com/gigbnb/profiles/profile_pics/000/000/002/small/anthony_candaele-300x300.jpg?1464956858
当我在浏览器中输入这个url时,我得到一个带有以下错误消息的xml页面:

The bucket you are attempting to access must be addressed using the     specified endpoint. Please send all future requests to this endpoint.

看起来S3端点有问题。
但是我在配置文件中设置了区域(eu-west-1):

config/environments/production.rb

config.paperclip_defaults = {
   storage: :s3,
   s3_region: ENV.fetch('AWS_REGION'),
   s3_credentials: {
     bucket: ENV.fetch('S3_BUCKET_NAME'),
     access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
     secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
   }
}

我的Github仓库在:
https://github.com/acandael/gigbnb
有人知道发生了什么吗?
谢谢你的帮忙
安东尼

cvxl0en2

cvxl0en21#

这是一个workaround解决了我的问题。它是由aminariana提供的

dpiehjr4

dpiehjr42#

其中一个原因是您的s3客户端是使用您的存储桶所在的区域以外的区域创建的。

相关问题