gpt4 book ai didi

amazon-s3 - 生成格式为 : s3. amazonaws.com/bucket.name 的预签名 URL

转载 作者:行者123 更新时间:2023-12-02 23:04:15 26 4
gpt4 key购买 nike

我正在生成预签名 URL,但由于 *.s3.amazonaws 证书,它对于带有句点和 SSL 的存储桶名称会出现问题,如下所述: http://shlomoswidler.com/2009/08/amazon-s3-gotcha-using-virtual-host.html

有没有办法生成以下格式的网址?: http://s3.amazonaws.com/bucket.name/key

我在 API 中没有看到选项。我猜我可以通过重新排列网址来“手动”完成此操作,但如果没有必要,我宁愿避免黑客攻击。

根据迈克尔的回答,这是我现在使用的代码:

public static URL bucketNameAfterS3Url(URL url) {

int index = url.getHost().indexOf("s3");
String host = url.getHost().substring(index);
String bucket = url.getHost().substring(0, index - 1);
URL toUse;
try {
toUse = new URL(url.getProtocol(), host, url.getPort(), '/' + bucket + url.getFile());
} catch (MalformedURLException e) {
}
return toUse;
}

最佳答案

S3 客户端允许您设置一个选项来配置此功能:

    // Configure the S3 client to generate urls with valid SSL certificates. With this setting we will get urls
// like https://s3.amazonaws.com/bucket_name/... but if this is not set we will get urls like
// https://bucket_name.s3.amazonaws.com/ which will cause the browser to complain about invalid SSL
// certificates.
s3Client.setS3ClientOptions(new S3ClientOptions().withPathStyleAccess(true));

关于amazon-s3 - 生成格式为 : s3. amazonaws.com/bucket.name 的预签名 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29652193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com