首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >载波上载到S3的Fog默认上载路径无效

载波上载到S3的Fog默认上载路径无效
EN

Stack Overflow用户
提问于 2016-10-11 11:13:27
回答 1查看 700关注 0票数 0

我正在尝试用Carrierwave和Fog-Aws上传到S3,但我遇到了一个问题。出于某种原因,雾正试图上传到我的存储桶中,地址是

https://{bucket-name}.s3.amazonaws.com

但是,当我直接从aws访问文件时,url格式如下:

https://s3-{region}.amazonaws.com/{bucket-name

每当我尝试使用Fog正在使用的路径时,都会出现以下错误:

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

所以我的问题是,有没有办法

A)更改S3上的端点格式以匹配Fog期望的格式,或者

B)更改Fog的设置以使用这种不同的格式?

供参考:

我使用的是Carrierwave版本1.0,fog-aws版本0.11.0

这是我的carrierwave.rb文件:

代码语言:javascript
复制
if Rails.env.test? or Rails.env.development?
  CarrierWave.configure do |config|
    config.storage = :file
    config.root = "#{Rails.root}/tmp"
    config.cache_dir = "#{Rails.root}/tmp/images"
  end
else
  CarrierWave.configure do |config|
    config.fog_provider = 'fog/aws'  
    config.fog_credentials = {
      :provider => 'AWS',
      :aws_access_key_id => ENV['AWS_ACCESS_KEY_ID'],
      :aws_secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
      :region => ENV['AWS_S3_REGION'],
      :endpoint => "https://s3-#{ENV['AWS_S3_REGION']}.amazonaws.com/#{ENV['AWS_S3_BUCKET_NAME']}"
    }
    config.storage = :fog
    config.fog_directory = ENV['AWS_S3_BUCKET_NAME']
    config.fog_public = false
  end
end
EN

回答 1

Stack Overflow用户

发布于 2016-10-13 03:53:30

我相信:在这种情况下,region是您唯一需要更改的设置。只要它设置正确(并且不是默认的us-east-1区域),它就应该根据您的需要更改主机。

也就是说,我不认为还需要像这样更改端点。如果你需要使用CNAME的东西,它会被设置,这听起来不像你需要的。省略这一点,同时设置区域,希望能得到你想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39969971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档