Rails + CarrierWave + Fog + S3套接字错误

16

我使用fog和Jquery文件上传 (https://github.com/blueimp/jQuery-File-Upload) 时遇到了问题。

错误信息:

Excon::Errors::SocketError (getaddrinfo: nodename nor servname provided, or not known (SocketError)): 

当我尝试在控制器中调用“save”方法时发生这种情况。 我正在按照以下方式设置carrierwave:

config/initializers/carrierwave.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS', 
    :aws_access_key_id      => 'access_key_here', 
    :aws_secret_access_key  => 'secret_key_here', 
    :region                 => 'eu-east-1'
  }
  config.fog_directory  = 'folder_name_here'
  config.fog_public     = false 
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}
  config.storage = :fog
end

我的上传器只有 "config.storage :fog" 和 "store_dir",现在我已经创建了我的存储桶。

我是否遗漏了某些配置?它甚至在我的开发环境中都不能工作。

请帮帮我。提前感谢。


我遇到了同样的问题,但是我已经仔细检查了我的存储桶区域,确认它是爱尔兰,所以我将其设置为欧洲(西部)(eu-west-1),但是在创建时在日志中却出现了以下错误:Excon::Errors::SocketError (getaddrinfo: Name or service not known (SocketError))。 - Steven Moffat
1个回答

25

区域名称错误。应该是“us-east-1”。


8
谢谢。很难正确获取区域名称。这是一个参考链接: http://docs.aws.amazon.com/general/latest/gr/rande.html - Arcolye
@Ron为什么在其他地区不能正常工作?这没有道理吧? - YoniGeek
2
@YoniGeek,它必须设置为您的存储桶所在的区域。如果您的Amazon存储桶位于“us-east-1”,那么使用“eu-east-1”或任何其他区域将无法正常工作。 - Ron
1
本以为“us-standard”会起作用,但只有“us-east-1”可以。谢谢! - Jay
只有当存储桶位于美国标准区域时才是正确的。在爱尔兰,'eu-west-1' 才是正确的。 - hcarreras
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接