访问 S3 对象时使用 aws-sdk-ruby "hostname does not match the server certificate"



我在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上进行配置以避免此错误?

我遇到了同样的问题,我通过:

解决了它。
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)

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

相关内容

最新更新