0

署名付き URL からアクセスできる静的 Web サイトでホストされている S3 バケットでプライベート オブジェクトを作成しようとしています。簡単に思えますが、次のコードを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

これを機能させるために不足している権限/設定はありますか?

4

1 に答える 1