Configuración
Route 53 Domain example.com tiene A registro A para id.cloudfront.net y un registro AAAA para random-id.cloudfront.net .
Cloudfront tiene un dominio de origen como EC2 DNS público ec.xxxxxx.amazonaws.com y un dominio alternativo como example.com . Además, tiene un certificado de AWS para SSL/TLS (por ahora acepta solicitudes HTTP y HTTPS)
EC2 es una AMI Ubuntu-20.04 con apache2 , php7.4 y phpmyadmin , todo instalado usando apt-get .
El problema es que cada vez que ingreso example.com/* , el sitio se redirige automáticamente a ec.xxxxxx.amazonaws.com/* .
Ejemplo:
example.com/phpmyadmin se redirige a ec.xxxxxx.amazonaws.com/phpmyadmin/ .example.com a http://ec2-xxxxxx.amazonaws.com/wp-admin/setup-config.php`Estas son las cosas que he probado.
ServerName example.com en /etc/apache2/apache2.confsudo ufw allow in "Apache Full".htaccess en mi carpeta /var/www/html .¿Es un problema de Cloudfront o de Apache? Este es mi primer rodeo con AWS y Apache y trato de aprender cómo funciona.
Soluciones que parecen fuera de alcance:
.htaccess en el directorio raíz, ya que creo que crearía un bucle sin fin.Puedo proporcionar más información, si es necesario.
Actualizar:
ServerName example.com a /etc/apache2/sites-enabled/000-default.confrandom-id.cloudfront.net hace la misma redirección.Si entiendo correctamente su configuración, probablemente necesite CNAME en lugar de un registro en Route53
Rastreó el problema a HTTP_HOST siendo el DNS público ec2 recibido por el servidor. Entonces, si visité example.com/index.php y se suponía que el código redirigiría a example.com/index2.php , en su lugar, lo redirigiría a ec.xxxxxx.amazonaws.com/index2.php porque HTTP_HOST = ec.xxxxxx.amazonaws.com .
Se solucionó actualizando el comportamiento de CloudFront Distribution para reenviar el valor del Host .
Entonces, si visito example.com , el valor del host sería example.com
Y si visito id.cloudfront.net , el valor del host sería id.cloudfront.net .
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23