amazon-web-services - [fog][WARNING] 无法获取凭据:没有到主机的路由 - connect(2) -(Errno::EHOSTUNREACH)

标签 amazon-web-services amazon-s3 carrierwave amazon-iam

您好,我在 ruby​​ on rails 中使用 amazon s3 配置了 carrierwave。在控制台中显示此消息

[fog][WARNING] 无法获取凭据:没有到主机的路由 - connect(2) -(Errno::EHOSTUNREACH)

我的应用程序加载滞后,但当我尝试上传文件时,应用程序挂起但文件已正确上传到存储桶中。

这是我的配置 s3。初始化程序。

CarrierWave.configure do |config|
  config.fog_provider = 'fog/aws'                        # required
  config.fog_credentials = {
    provider:              'AWS',                        # required
    aws_access_key_id:     'AK******',                        # required unless using use_iam_profile
    aws_secret_access_key: 'rKI********',                        # required unless using use_iam_profile
    use_iam_profile:       true,                         # optional, defaults to false
    region:                'us-east-2'                  # optional, defaults to 'us-east-1'

  }
  config.fog_directory  = '<name of bucked>'                                      # required
  config.fog_public     = false                                                 # optional, defaults to true
  config.fog_attributes = { cache_control: "public, max-age=#{365.days.to_i}" } # optional, defaults to {}
end

最佳答案

所以答案在 comment 中: 在 carrierwave/fog 的 config/initializers/carrirewave.rb(或 fog.rb)文件中“将 use_iam_profile 设置为 false”

CarrierWave.configure do |config|
  config.fog_credentials {
    provider:              'AWS', 
    aws_access_key_id:     'AK******',           
    aws_secret_access_key: 'rKI********', 
    use_iam_profile:       false,
    # ...

为什么??

use_iam_profile 是对 s3 存储桶进行身份验证的非常不同的方式。因此,如果您使用 aws_access_key_id && aws_secret_access_key 那么 use_iam_profile 应该是 false

关于amazon-web-services - [fog][WARNING] 无法获取凭据:没有到主机的路由 - connect(2) -(Errno::EHOSTUNREACH),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51373079/

相关文章:

amazon-web-services - 我应该担心 Amazon S3 上的位翻转吗?

ruby-on-rails - 不是公认的存储提供商(Mongoid、Carrierwave 和 S3

amazon-web-services - 如何将变量传递到 AWS Cloudformation cfn-init 文件内容中

json - 如何在集成请求 (AWS APIGateway) 中取消转义请求路径

amazon-web-services - 尝试在 AWS Firehose 数据流中传输数据时发生内部错误

amazon-web-services - 从 Lambda 访问 S3 时出现 InvalidToken 错误

logging - 在 AWS CloudTrail 中获取用户登录和注销信息

amazon-web-services - 将 cloudformation 中的资源列入白名单

ruby-on-rails - 如何删除载波自动生成的json

ruby-on-rails-3 - 使用没有模型的 CarrierWave 将文件上传到 S3,可以吗?