2016-11-23 55 views
0

我想在一個靜態網站上託管的S3存儲桶,可以從一個簽名的URL訪問私人對象。看起來很簡單,但使用下面的代碼virtual_host啓用似乎總是導致403禁止。如果我禁用virtual_host那麼它按預期工作。Aws :: S3 :: Presigner presigned_url返回403禁止與虛擬主機

url = Aws::S3::Presigner.new.presigned_url(
    :get_object, 
    :bucket => BUCKET, 
    :key => KEY, 
    :virtual_host => true 
) 

uri = URI.parse(url) 
http = Net::HTTP.new(uri.host, uri.port) 
request = Net::HTTP::Get.new(uri.request_uri) 
resp = http.request(request) 
puts resp.body 

是否有一個權限/設置,使這項工作失蹤?

回答

0

這些都是原因

  1. 拒絕訪問
  2. 帳戶問題

enter image description here