Paperclip - Aws :: S3 :: Errors :: PermanentRedirect

时间:2018-01-27 20:06:22

标签: ruby-on-rails amazon-s3 paperclip

围绕这个问题加载,但没有一个答案似乎解决了我的问题。我在Rails 5.1应用程序中使用Paperclip,在保存时,我收到了Aws :: S3 :: Errors :: PermanentRedirect The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.错误。阅读时,似乎常见的答案是确保在未使用AWS默认值的情况下正确设置区域。然而,尽管尝试了一些方法,我无法解决它。

development.rb

config.paperclip_defaults = {
  storage: :s3,
  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'),
    s3_region: ENV.fetch('AWS_REGION'),
    s3_host_name: 'https://*mybucketname*.s3.eu-west-1.amazonaws.com',
  }
}

还尝试了s3_host_name: 'https://s3.eu-west-1.amazonaws.com'

我也尝试过添加: 的初始化/ paperclip.rb

Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com'

不确定现在还有什么可以尝试......

1 个答案:

答案 0 :(得分:2)

所以这是一个愚蠢的错误!

我从网址中获取了该区域:

https://s3.console.aws.amazon.com/s3/buckets/mybucket/?region=eu-west-1&tab=overview

在欧盟(伦敦)实际创建存储桶时eu-west-2

如果有人犯这个错误,我会把它留在这里。