Dv_*_*_MH 6 domain-name-system load-balancing cdn amazon-cloudfront amazon-elb
我的设置如下:
所有这一切都是我想要的,但是......
原因是因为 EC2 看到来自负载均衡器的请求,因此它假定基本 url 是 elb.example.com 并相应地生成所有链接。
如何让 EC2 将基本 url 视为 example.com ?
这种行为可能是因为默认情况下 CloudFront 将 Host: HTTP 请求标头设置为源主机名,在本例中为 elb.example.com。然后,应用程序可能会根据该主机名生成链接。
相反,如果您将 CloudFront 配置为将该标头列入白名单以转发到源,则浏览器 (example.com) 发送的 Host 标头将由 CloudFront 发送到应用程序,因此应用程序的行为应该更像您期望的并在生成链接时使用该值。这样,CloudFront 仍然使用源服务器主机名进行 DNS 查找,以便建立到源(在本例中为 ELB)的 TCP 连接,但停止将该主机名注入 HTTP 请求标头。
@michael-sqlbot在 SO 上已经回答了这个问题