我正在尝试在静态网站托管的 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
是否缺少使此工作的权限/设置?