我的设置如下:
- 用户在浏览器上键入example.com
- 请求转到AWS CloudFront,后者将HTTP重定向到HTTPS,并将请求转发到AWS Elastic LoadBalancer(elb.example.com)
- LoadBalancer将请求转发到运行PHP Laravel框架的EC2实例
- EC2正常响应
- 用户在example.com上正确查看页面,其他一切对他来说都是透明的
这一切都是我想要的,但是......
- 如果用户导航到页面上的任何按钮,浏览器上的URL将变为elb.example.com(它应该保留example.com)
- 如果我去查看网页的源文件,所有链接到页面上的任何按钮具有elb.example.com的基本URL(它应该是example.com)
原因是因为EC2看到来自负载均衡器的请求所以它假定基本URL是elb.example.com并相应地生成所有链接.
如何使EC2看到基本URL作为example.com?