使用备用域名和自定义SSL访问CloudFront后面的拒绝S3存储桶

时间:2018-09-26 21:51:20

标签: amazon-web-services amazon-s3 amazon-cloudfront boto3

当前,我们正在使用预先签名的url提供来自S3的文件,但是,某些地方阻止了S3 url,因此我们尝试将其重定向到自定义URL。我们已经设置了CloudFront分发以指向所需的S3存储桶。我们已经将备用域名设置为来自第53条托管区域的A记录。我相信,我们也有一个自定义SSL证书,该证书将在其他地方使用。

当我使用botocore CloudFrontSigner创建一个签名的url时,如boto3 documentation所示,我在请求中和从浏览器中都收到了“拒绝授权”响应。当我使用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的说明进行操作。在确保已分发发行版之后(今天早上又进行了一次),我再次尝试,但是最终结果始终是“访问被拒绝”。

此刻我处于停滞状态。我不明白为什么我无法创建有效的签名网址。请给我一些帮助吗?

1 个答案:

答案 0 :(得分:0)

该死。到期时间具有所有时区错误。继续。