围绕这个问题加载,但没有一个答案似乎解决了我的问题。我在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'
不确定现在还有什么可以尝试......
答案 0 :(得分:2)
所以这是一个愚蠢的错误!
我从网址中获取了该区域:
https://s3.console.aws.amazon.com/s3/buckets/mybucket/?region=eu-west-1&tab=overview
在欧盟(伦敦)实际创建存储桶时eu-west-2
如果有人犯这个错误,我会把它留在这里。