AWS S3.generatePreSignedURL; При использовании CNAME возникают проблемы
Я использую generatePreSignedURL, который генерирует URL формата (с использованием Java SDK):
Я хочу использовать настроенный домен с использованием CNAME. Два вопроса:
Как CNAME не работает для HTTPS; Мне нужно использовать http. Как может генерировать PreSignedURL вернуть URL-адрес http. Это небольшая проблема... потому что я все равно могу изменить его вручную, заменив https на http, но это не выглядит чисто.
После изменения вручную на http; и этот URL-адрес bucketName.s3.amazonaws.com для customizeURL.com; Я получаю подпись DoesNotMatch! Есть идеи, как это исправить? Может ли мой generatePreSignedURL вернуть настроенный URL?
1 ответ
Для того, чтобы generatePreSignedURL предоставил вам http вместо https URL, вам нужно настроить AmazonS3Client с другой ClientConfiguration. Я привел пример ниже.
Настроенный домен через https сейчас невозможен, поскольку в настоящее время AWS не размещает клиентские сертификаты для S3.
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTP);
AmazonS3Client s3Client = new AmazonS3Client(awsCredentials, clientConfig);