【发布时间】:2020-12-12 00:13:02
【问题描述】:
我想在我的 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
第一个失败(拒绝访问),但第二个工作正常。 没有一个分布将查询字符串转发到 S3。
签名的音频分发启用了日志记录,而图像分发没有日志记录。除此之外,它们的设置是相同的。
我需要做什么才能让音频分发接受我的自定义查询参数? 谢谢 /o
【问题讨论】:
-
那么您的问题到底是什么:如何将查询字符串转发到 S3 或如何让 S3 接受它们?
-
对不起,如果不清楚,但问题是如何让 Cloudfront 接受查询字符串而不返回“拒绝访问”响应。
-
是的,该对象确实存在,在没有自定义查询参数的情况下请求它可以正常工作,但如果我添加一个参数(如上面示例中的测试参数),我会收到拒绝访问。我不需要修改“转发的查询字符串”设置,因为我不需要查询去 S3,我只需要它被 Cloudfront 的访问日志捕获,即使没有转发也应该,根据@987654321 @ And (jfyi) 在现有发行版上更改它可以正常工作(尽管我不需要这样做:-)
-
参考这个。希望能帮助到你。 stackoverflow.com/questions/54965779/…
标签: amazon-web-services amazon-s3 amazon-cloudfront