Redirect 在AWS Amplify前面放置CloudFront时,如何避免301重定向循环? 背景
我们希望在AWS Amplify SPA前面有一个CloudFront作为路由器。原因是我们需要在所有SPA中共享一个公共域,以便共享本地存储。因此,每个SPA将托管在CloudFront上的一个子路径上。我们使用Amplify的原因是因为我们使用的是客户端路由,所以我们需要将请求从重定向到index.html 基本思想是我们将拥有一个CloudFront,它代理/缓存来自Redirect 在AWS Amplify前面放置CloudFront时,如何避免301重定向循环? 背景,redirect,single-page-application,amazon-cloudfront,aws-amplify,http-redirect,Redirect,Single Page Application,Amazon Cloudfront,Aws Amplify,Http Redirect,我们希望在AWS Amplify SPA前面有一个CloudFront作为路由器。原因是我们需要在所有SPA中共享一个公共域,以便共享本地存储。因此,每个SPA将托管在CloudFront上的一个子路径上。我们使用Amplify的原因是因为我们使用的是客户端路由,所以我们需要将请求从重定向到index.html 基本思想是我们将拥有一个CloudFront,它代理/缓存来自https://cloudFrontDomain.com/spaOne/*至https://spaOne-amplify.c
https://cloudFrontDomain.com/spaOne/*
至https://spaOne-amplify.com/spaOne/*
问题
然而,出于某种原因,当Amplify托管的SPA通过头接收到一个看起来像来自CloudFront的头时,它会进入重定向循环
GET
301
-/someRandomId/
GET
301
-/someRandomId/
- 。。。等等等等
我在任何地方都找不到任何关于这种行为的细节,我也不知道如何避免它。如果通过
标题删除或更改,行为将停止。
以下情况会导致重定向循环:
Via:
1.1 7331c3ff7c4cd86239addbfddaa5cee4.cloudfront.net(cloudfront)
Via:
1.1 abc.cloudfront.net(cloudfront)
但这些并不是:
Via:
1.1 7331C3FF7C4CD86239ADDBDDAA5CEE4.cloudfront.net
Via:
1.1 spaOne-amplify.com(CloudFront)
所以这里的想法是使用目标组来加载分发(或重定向网络规则)。默认情况下,我不确定是否有办法在CloudFront中实现这一点
然而,通过创建负载平衡器(在您的情况下是应用程序),然后在CloudFront实例中指定origin作为负载平衡器,可以实现这一点
一旦所有内容都进入负载平衡器,您就可以使用重定向行为创建一个或另一个源
好吧,这太糟糕了,我一直希望有一个解决方案,不需要每小时收费的基础设施。我想我不会用放大(