#amazon-web-services #amazon-s3 #amazon-cloudfront #pre-signed-url #aws-sdk-java
#amazon-web-services #amazon-s3 #amazon-облачный фронт #предварительно подписанный URL-адрес #aws-sdk-java
Вопрос:
Я получаю код ошибки в браузере, когда я обращаюсь к объекту корзины S3, используя подписанный URL-адрес Cloudfront. Я думаю, что я следовал тому же подходу для создания SignedUrl.
- Создал простую корзину S3 с настройками для корзины, оставшимися по умолчанию.
- Создал дистрибутив CloudFront с настройками, как :
Origin Domain Name: URL to the S3 bucket (ie. “bucket-name.s3.amazonaws.com”) Restrict Bucket Access: “Yes” Origin Access Identity: “Create a New Identity” Grant Read Permissions on Bucket: “Yes, Update Bucket Policy” Restrict Viewer Access: “Yes” Trusted Signers: “Self”
- Создал метод JAVA с использованием AWS SDK следующим образом:
public static void getSignerURL() throws InvalidKeySpecException, IOException { Protocol protocol = Protocol.http; String distributionDomain = "dh6mxa3xww1tk.cloudfront.net"; File privateKeyFile = new File("C:\Users\ABC\Downloads\pk-APKAJCG2GCNVLNLB7BWA.pem"); String s3ObjectKey = "movie.mp4"; String keyPairId = "APKAJCG2GCNVLNLB7BWA"; Date dateLessThan = DateUtils.parseISO8601Date("2020-11-30T22:20:00.000Z"); Date dateGreaterThan = DateUtils.parseISO8601Date("2011-11-14T22:20:00.000Z"); String ipRange = "192.168.0.1/24"; String url1 = CloudFrontUrlSigner.getSignedURLWithCannedPolicy( protocol, distributionDomain, privateKeyFile, s3ObjectKey, keyPairId, dateLessThan); System.out.println("URL IS : " url1);
}
Но получение кода ошибки в браузере выглядит следующим образом:
<Error>
<Code>InvalidKey</Code>
<Message>Unknown Key</Message>
</Error>
Закрытый ключ и идентификатор пары ключей получены из раздела CloudFront key pairs раздела «Ваши учетные данные безопасности».
URL генерируется правильно, но он показывает ошибку. Проблема по-прежнему сохраняется, даже если я конвертирую файл pem в формат der и использую его.
Пожалуйста, помогите мне решить эту проблему.
Комментарии:
1. У меня точно такая же проблема … Вы когда-нибудь разбирались в этой проблеме?
2. @jpedro Да, я решил эту проблему, изменив настройку даты. Я дам ссылку на код, если хотите.