访问S3对象时,“hostname与服务器证书不匹配”与aws-sdk-ruby

时间:2015-05-17 13:05:04

标签: ruby-on-rails amazon-web-services amazon-s3 aws-sdk

我在aws上创建了一个新的S3存储桶。 我有一个证书问题,我在原始存储桶上没有相同的代码。

以下是代码:

AWS.config(access_key_id: AWS_ACCESS_KEY_ID, secret_access_key:AWS_SECRET_ACCESS_KEY, region: S3_REGION)
s3 = AWS::S3.new
bucket = s3.buckets[S3_BUCKET_NAME]
@resp = bucket.objects.with_prefix('categories/'+@category.id.to_s+"/")

@resp.each do |item|
end
执行“@ resp.each”时,

返回以下错误:

hostname does not match the server certificate (OpenSSL::SSL::SSLError)
  • 使用新区域和新存储桶名称
  • 更新ENV变量
  • 正在上传图片
  • @resp正在返回AWS :: S3 :: ObjectCollection:0x007f815e099d18
  • 我的水桶名称不包含点

是否可以在AWS S3上配置以避免此错误?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我通过这样做解决了这个问题:

Aws::S3::Client.new(
:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY',
:region => 'YOUR_REGION',
:force_path_style => true)

基本上,通过指定路径样式。 让我知道它是否有效!