В настоящее время мы обслуживаем файлы из S3 с использованием заранее заданных URL-адресов, однако в некоторых местах URL-адреса S3 блокируются, поэтому мы пытаемся перенаправить их на пользовательский URL-адрес. Мы настроили распространение CloudFront, чтобы указать на желаемую корзину S3. Мы установили в качестве альтернативных доменных имен запись A, полученную из зоны размещения маршрута 53. У нас также есть собственный SSL-сертификат, который, как мне кажется, мы используем в других местах.
Когда я использую botocore CloudFrontSigner
для создания подписанного URL-адреса, как показано в документация по boto3, я получаю ответ «отказ в авторизации» как в запросах, так и в браузере. Когда я использую curl -s -v <url>
, я получаю <?xml version = "1.0" encoding = "UTF-8"?><Error><Code>AccessDenied</Code><Message>Access denied</Message></Error>
. Глядя на ответ завитка, я вижу
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
* subject: C=US; ST=Washington; L=Seattle; O=Amazon.com Inc.; CN=*.cloudfront.net
* start date: Nov 22 00:00:00 2017 GMT
* expire date: Nov 21 12:00:00 2018 GMT
* subjectAltName: host "dXXXXXXXXXXXXX.cloudfront.net" matched cert's "*.cloudfront.net"
* issuer: C=US; O=DigiCert Inc; CN=DigiCert Global CA G2
* SSL certificate verify ok.
что, кажется, указывает на то, что подключение к CloudFront через альтернативное доменное имя было успешным. Я подумал, ах, верно, мне нужен OAI, чтобы на самом деле подключиться к S3. Итак, я следую инструкциям по добавлению OAI в CloudFront. Я попробовал еще раз, убедившись, что дистрибутив был развернут (и снова сегодня утром), но конечным результатом всегда было «Доступ запрещен».
На данный момент я захожу в тупик. Я не понимаю, почему я не могу создать подписанный URL-адрес, который работает. Могу я получить помощь, пожалуйста?
Блин. Время истечения было связано с ошибкой часового пояса. Продолжать.