首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seahorse::Client::NetworkingError (主机名"mybucketname.s3.s3-us-west-2.amazonaws.com“与服务端证书不匹配)

Seahorse::Client::NetworkingError (主机名"mybucketname.s3.s3-us-west-2.amazonaws.com“与服务端证书不匹配)
EN

Stack Overflow用户
提问于 2015-02-17 17:38:37
回答 2查看 1.4K关注 0票数 2

我在使用Amazon AWS SDK版本2调用.head_object时遇到了问题。我在一个Rails项目中工作,使用Figaro设置我的环境变量,并将它们命名为AWS SDK期望的名称: AWS_ACCESS_KEY_ID等。

下面是我用来调用head_object的代码:

代码语言:javascript
复制
direct_upload_url_data = %r{\/(?<path>uploads\/.+\/(?<filename>.+))\z}.match(direct_upload_url)
direct_upload_url_data_string = direct_upload_url_data.to_s
s3 = Aws::S3::Client.new
direct_upload_head = s3.head_object(
    bucket: ENV['AWS_BUCKET'],
    key: direct_upload_url_data_string
  )

  self.image_file_name     = direct_upload_url_data[:filename]
  self.image_file_size     = direct_upload_head.content_length
  self.image_content_type  = direct_upload_head.content_type
  self.image_updated_at    = direct_upload_head.last_modified

如您所见,我正在尝试访问特定文件的元数据。我检查了正则表达式,它似乎返回了正确的键,类似于"uploads/{uniqueID}/image.jpg“错误出现在我试图调用head_object的代码行中。我得到的错误是

代码语言:javascript
复制
Seahorse::Client::NetworkingError (hostname "mybucketname.s3.s3-us-west-2.amazonaws.com" does not match the server certificate)

这条路径不是我在我的存储桶中看到的,我看到的是https://s3-us-west-2.amazonaws.com/mybucketname,所以我不确定这是否是我得到错误的原因。在使用AWS SDK版本1之前,我已连接到此存储桶,因此我知道我的访问和密钥工作正常。提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-01-23 06:28:59

您的amazon存储桶似乎有一个错误的区域名称。尝试将"s3-us-west-2“更改为"us-west-2”。

票数 0
EN

Stack Overflow用户

发布于 2016-11-25 11:53:38

我非常确定你已经解决了这个问题,但是对于未来的读者来说,就像塔帕顿提到的那样,确保你的地区名称不包括s3前缀,应该是:"us-west-2“。

但是之后,一定要重新启动你的服务器,否则旧的配置可能仍然会让你徒劳无功!

祝大家好运,编码快乐!

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

https://stackoverflow.com/questions/28558794

复制
相关文章

相似问题

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