jol*_*ola 3 amazon-s3 amazon-web-services amazon-cloudfront
我想向我的 Cloudfront Url 添加一个查询字符串参数,以便能够在 Cloudfront 日志中获取一些附加信息。我有两个发行版,一个有签名,一个没有签名,指向两个不同的 S3 存储桶(一个带有音频,一个带有图像)。在不添加查询字符串的情况下访问这两个发行版都可以正常工作,但是如果我添加一个查询参数,如下面的测试参数:
https://x.cloudfront.net/audio.m4a?li=...62&Expires=1544430879&Signature=...QTQ__&Key-Pair-Id=xxx&test=fail
https://y.cloudfront.net/image.jpg?test=allgood
Run Code Online (Sandbox Code Playgroud)
第一个失败(拒绝访问),但第二个工作正常。没有一个发行版将查询字符串转发到 S3。
签名的音频分发已启用日志记录,而图像分发没有日志记录。除此之外,它们的设置是相同的。
我需要做什么才能让音频分发接受我的自定义查询参数?谢谢/o
签名 URL 背后的核心概念之一是它们不易被篡改——您无法更改签名 URL 并使其保持有效。
CloudFront 使用公钥来验证签名并确认 URL 未被篡改。如果签名无效,则拒绝请求。
...
签名的 CloudFront URL 不能包含额外的查询字符串参数。如果在创建签名 URL 后将查询字符串添加到它,该 URL 将返回 HTTP 403 状态。
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html
要将查询字符串参数添加到 CloudFront 签名 URL,您需要在对 URL 签名之前添加它...因为添加会更改签名。
| 归档时间: |
|
| 查看次数: |
4603 次 |
| 最近记录: |