如何在 AWS CloudFront 中配置查询参数

How to configure Query Params in AWS CloudFront

我在包含我的前端应用程序 (https://myapp.com) 的 S3 存储桶之前有一个 AWS 云前端。当我通过网站的导航元素(在本例中为按钮)转到 https://myapp.com/experts?profession=carpenter 时,一切正常。但是,当我尝试通过从浏览器的导航栏手动输入 url 来访问相同的 url 时,问题就出现了。查询参数消失,只有在导航栏中是以下 url 没有查询参数 https://myapp.com.com/experts.

我的问题是,我应该如何配置 AWS cloudfront 以允许我传递查询参数?

非常感谢!

对于 Web 分配,您可以选择是否希望 CloudFront 将查询字符串转发到您的来源,如果是,是根据所有参数还是根据选定参数缓存您的内容。

默认情况下,Cloudfront 不转发查询字符串,以提高缓存命中率。

您可以在行为定义中更改该参数,如下面的屏幕截图所示。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html

现在 AWS 有不同的设置方式,默认选择。 Sébastien 在他的回答中提到的方法被标记为“Legacy cache settings”