我们有一个指向CloudFront分配的通配符(*)子域。起源是API网关。
我们需要知道API网关中的原始Host
标头,以便我们可以路由请求。
简单地将CloudFront中的Host
标头列入白名单时,通过HTTP访问CloudFront分配时会返回错误 - 可能是因为API网关需要Host
标头才能知道要调用的API。
如果是这种情况,是否可以通过Host
从CloudFront转发X-Forwarded-Host
标头到API网关?或者......是否有另一种方法可以在API网关中使用通配符子域?
答案 0 :(得分:2)
这不是原始问题的答案,但它可能是实现目标的另一种方式。
首先,在所有环境(包括产品)之间共享CF分配会带来风险 - 当您需要测试CF配置的更改时,您必须使用未经测试的更改修改产品CF dist,这可能会产生重大影响。
其次,如果你可以在CI / CD管道的所有阶段测试整个环境,那就太棒了,虽然它并不总是可行的(而CF对它来说特别糟糕) - 所以#&# 39;关于在短反馈周期和测试彻底性之间找到平衡点。
解决方案通常是在您的管道中引入额外的阶段,其中早期阶段可以对最常见的问题提供快速反馈,而后期阶段会对不太频繁的问题提供较慢的反馈。
在你的情况下,我建议:
通过引入登台环境,您可以获得有关分支构建的快速反馈,但您仍然有机会在进入prod之前测试缓存后面的内容。
如果要更改CF配置,可以让部署脚本动态决定在某个触发器中包含CF在分支部署中(可能在分支名称中存在单词' cloudfront' - 虽然对于某些人来说这可能有点神奇!)然后你可以在合并到master之前在分支上测试这些更改以便在分段中进行测试。