我的设置如下:
- 用户在浏览器上输入 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 的基本网址(应该是 example.com)
原因是因为 EC2 看到来自负载均衡器的请求,因此它假定基本 url 是 elb.example.com 并相应地生成所有链接。
如何让 EC2 将基本 url 视为 example.com ?