Apache 重定向 example.com 到 ec2 public DNS

Apache redirecting example.com to ec2 public DNS

设置

Route 53 域 example.comA 记录到 id.cloudfront.netAAAA 记录到 random-id.cloudfront.net

Cloudfront 的原始域为 EC2 public DNS ec.xxxxxx.amazonaws.com,备用域为 example.com。此外,它还有 SSL/TLS 的 AWS 证书(目前它接受 HTTP 和 HTTPS 请求)

EC2 是一个 Ubuntu-20.04 AMI,具有 apache2php7.4phpmyadmin,全部使用 apt-get.

安装

问题 是每当我输入 example.com/* 时,网站会自动重定向到 ec.xxxxxx.amazonaws.com/*

示例:

这些是我尝试过的东西。

这是 Cloudfront 还是 Apache 问题?这是我第一次使用 AWS 和 Apache 并尝试了解它的工作原理。

似乎超出范围的解决方案:

如果需要,我可以提供更多信息。

更新:

如果我正确理解了您的设置,您可能需要 CNAME 而不是 Route53 中的 A 记录

将问题追踪到 HTTP_HOST 是服务器接收到的 ec2 public DNS。因此,如果我访问了 example.com/index.php 并且代码应该重定向到 example.com/index2.php 它会改为重定向到 ec.xxxxxx.amazonaws.com/index2.php 因为 HTTP_HOST = ec.xxxxxx.amazonaws.com.

已通过更新 CloudFront 分发的行为以转发 Host 值来修复。

所以,如果我访问 example.com,主机值将是 example.com

如果我访问 id.cloudfront.net,那么主机值将是 id.cloudfront.net

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23