Aws :: S3 :: Presigner presigned_url使用virtual_host返回403禁止

时间:2016-11-23 19:31:54

标签: ruby amazon-s3 pre-signed-url

我试图在托管S3存储桶的静态网站上创建一个私有对象,可以从签名的URL访问。看起来很简单,但是使用以下启用了virtual_host的代码似乎总是导致403 Forbidden。如果我禁用virtual_host,那么它会按预期工作。

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

是否缺少权限/设置才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

这就是原因

  1. 拒绝访问
  2. 帐户问题
  3. enter image description here