当前,我们正在使用预先签名的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的说明进行操作。在确保已分发发行版之后(今天早上又进行了一次),我再次尝试,但是最终结果始终是“访问被拒绝”。
此刻我处于停滞状态。我不明白为什么我无法创建有效的签名网址。请给我一些帮助吗?
答案 0 :(得分:0)
该死。到期时间具有所有时区错误。继续。