使用Route53,带缓存的CloudFront,ELB将APEX域重定向到子域

时间:2019-06-05 02:50:54

标签: amazon-web-services dns amazon-cloudfront amazon-route53

我正在计划将example.com重定向到test.example.com中。 (这不应该是A记录-要求是域的更改,因此很明显它在测试域中。)

但是,我发现APEX域不能是CNAME记录(link),因此我认为在CloudFront或更高版本(nginx,expressjs)上进行重定向是合适的,因此我从{{1} }和example.com更改为CF DNS名称。

但是对于缓存CF,我认为可能存在与重定向相关的问题。

例如,当用户尝试以第一次命中(CF高速缓存未命中)连接到beta.example.com时,该请求将传递到express中,并以302重定向到example.com的方式进行响应。

但是,当另一个用户尝试连接到test.example.com时,该请求将作为test.example.com的请求发送到CloudFront,因此CF将返回302重定向,而不是将其传递给express以表示无意义

如何解决此问题?我是否必须放弃/资源的缓存,或者是否有其他解决方法?

1 个答案:

答案 0 :(得分:0)

通过将Behavior> Edit> Cache Based on Selected Request Headers更改为whitelist,然后将Host标头添加到白名单来解决。