2015-05-17 58 views
2

我已經在aws上創建了一個新的S3存儲桶。 我有一個證書問題,我沒有在原始存儲桶上使用相同的代碼。訪問S3對象時,「主機名與服務器證書不匹配」與aws-sdk-ruby

下面是代碼:

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/'[email protected]_s+"/") 

@resp.each do |item| 
end 

返回時, 「@ resp.each」 執行以下錯誤:

hostname does not match the server certificate (OpenSSL::SSL::SSLError) 
  • ENV變量與新的區域和新的bucket名稱更新
  • 正在上傳圖片
  • @resp正在返回AWS :: S3 :: ObjectCollection:0x0 07f815e099d18
  • 我的桶名稱不包含點

有東西configurate在AWS S3來避免這個錯誤?

回答

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) 

基本上,還指定路徑的風格。 讓我知道它是否有效!

相關問題