我们面临 AWS CloudFront 发行版的问题,我们已经没有行为了。我们当前的配置为需要特定缓存设置的每个页面或页面组创建单独的行为。例如:
• Behavior 0: /page-1
• Behavior 1: /page-2
• Behavior 2: /articles/*
我们知道 CloudFront 允许在路径模式中使用通配符,例如 /articles/*,但理想情况下,我们希望将多个静态页面分组到单个行为下,如下所示:
• Behavior 0: /page-1 /page-2
• Behavior 1: /articles/*
但是,CloudFront 似乎不支持单个行为中的多个路径模式(例如 /page-1 和 /page-2)。
是否可以在 CloudFront 中的单个行为下对多个特定静态页面进行分组?
我们怀疑将不相关的路径分组为单一行为是不可能的,但我们很想确认我们是否遗漏了一些东西。是否有更好的策略来管理 CloudFront 中的行为来处理越来越多的静态页面?
从文档来看,在单个行为上列出多个页面的选项似乎是有限的......
但是,您可以使用附加到源请求的默认行为的 Lambda@edge 并根据路径值更新源。
另一种选择是使用 CloudFront KeyValueStore 和 CloudFront Function。如果您能够迁移到这种方法,您将能够在商店中轻松添加任何路由,而无需使用每个新路径修改/重新部署 CloudFront。