ruby-on-rails - getaddrinfo 名称或服务未知 套接字错误 s3 fog carrierwave Figaro

标签 ruby-on-rails ruby heroku amazon-web-services amazon-s3

我在使用 amazon s3 服务时遇到问题

错误

Excon::Errors::SocketError in PhotosController#create 
getaddrinfo: Name or service not known (SocketError)}

当我尝试保存图像时出现此错误。

config/initializers/carrierwave.rb

CarrierWave.configure do |config|
config.fog_credentials = {
:provider               => 'AWS',                        
:aws_access_key_id      => 'XXXXX',                        
:aws_secret_access_key  => 'YYYYY',                        
:region                 => 'us-east-1',                  
:host                   => 's3.example.com',             
:endpoint               => 'https://s3.example.com:8080' 

config.fog_directory  = 'My_bucket_name'                       
config.fog_public     = false                            
config.fog_attributes = {'Cache-Control'=>"max-age=#{365.day.to_i}"} 

结束

我正在使用 figaro.gem

config/application.yml

SECRET_KEY_BASE: aaaaaa 
AWS_ACCES_KEY_ID: XXXXXX
AWS_SECRET_ACCESS_KEY: YYYYYY
AWS_BUCKET: "My_bucket_name"

gem 文件

gem 'rails', '4.1.4'
gem 'mysql2'
gem 'carrierwave'
gem 'fog'
gem 'aws-sdk'
gem "figaro"

app/uploaders/picture_uploader.rb

class PictureUploader < CarrierWave::Uploader::Base

storage :fog


def store_dir
'uploads/data'
end


end

我关注了这个网站 enter link description here其他配置没有做任何改动。

我已经将我的应用程序部署到 heroku。我想将图像/视频上传到该应用程序。 任何人都可以帮助或建议我如何使用载波将图像/视频上传到 heroku。

提前致谢

最佳答案

那是因为没有这样的主机:s3.example.com

config.fog_credentials 哈希中删除 hostendpoint 键。

关于ruby-on-rails - getaddrinfo 名称或服务未知 套接字错误 s3 fog carrierwave Figaro,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817499/

相关文章:

heroku - 如何更新在heroku上将源作为github url的gem?

heroku - 完全重置 Heroku 配置

javascript - 使用嵌套形式初始化对象不起作用

javascript - Rails 5.1 Webpacker – 通过 yarn 添加 moment.js – 如何在旧 Assets JS 中使用包

sql - ruby on rails 参数比较日期和日期时间?

ruby - 如何为范围创建自定义迭代器

ruby-on-rails - YouTube api的yt gem在Rails上使用ruby

javascript - 使用 jQuery 成功刷新 DIV

ruby-on-rails - 将 devise_token_auth 与表单例份验证一起使用

java - ParseUser Android 指示用户已登录,但无法从对象检索任何信息