我计划将example.com
重定向到test.example.com
。(这不应该是 A 记录 - 要求是域的更改,因此它在测试域中的事实很明显。
但是,我发现 APEX 域不能是 CNAME 记录(链接),因此我认为在 CloudFront 或更高版本(nginx、expressjs)上进行重定向是合适的,因此我将example.com
和beta.example.com
的两个 A 记录设置为 CF DNS 名称。
但是,对于缓存的 CF,我认为可能存在与重定向相关的问题。
例如,当用户尝试连接到example.com
作为第一次命中(CF 缓存未命中)时,该请求将传递到快速,并将以 302 重定向到test.example.com
进行响应。
但是,当另一个用户尝试连接到test.example.com
时,该请求将作为/
的请求发送到CloudFront,因此CF将返回302重定向,而不是将其传递给express,这没有任何意义。
如何解决此问题?我是否必须放弃/
资源的缓存,或者是否有其他解决方法?
通过将Behavior
>Edit
>Cache Based on Selected Request Headers
更改为whitelist
,然后将Host
标题添加到白名单来解决。