带有可选查询参数的云端缓存

Cloudfront caching with optional query parameters

我正在尝试设置云端缓存我们的图像,这些图像可以接受一个名为 size 的查询参数。请求看起来像这样:

注意 size 参数是可选的,服务器知道在这种情况下 return 大版本。

问题是将 Cache Key Settings 设置为使用 size 作为键(如屏幕截图所示)对于带有 size 参数的前三个版本来说效果很好。但是,如果该参数不存在(这是最需要缓存的参数),则根本不会发生缓存。

我不确定如何设置才能正确缓存所有内容。我有一个古怪的想法,涉及为 /images/* 设置一个缓存在 size 上的行为,为 /images/*.png 设置另一个不缓存任何参数的行为(2 种行为,因为路径需要独特)。但是这个解决方案感觉不佳。

感谢您的帮助

对于处于相同情况的任何人,这就是我的发现。

我尝试按照上一段中的描述进行两种重叠行为,一种是在 size 上进行缓存,另一种不是。到目前为止,这种方法似乎工作正常。如果我发现任何陷阱,我会编辑。