redirect ssl amazon-s3 amazon-cloudfront amazon-route53

redirect - Cloudfront redirige www a dominio desnudo con ssl



amazon-s3 amazon-cloudfront (2)

Perdóneme si esto se ha preguntado antes, hay una serie de recursos que se refieren a esto, pero nada parece encajar en mi caso de uso específico (https).

Estoy tratando de redirigir https://www.example.com a https://example.com . Del mismo modo, esto debería funcionar para http://www.example.com a https://example.com .

He configurado una distribución en el frente de la nube con el origen de un bucket s3, redirijo http a https, agregué cname example.com y agregué mi certificado de dominio (que funciona tanto para el subdominio www como para el dominio simple).

También configuré una distribución por separado, con un nombre de c para www.example.com, agregué el certificado y configuré el origen en un cubo s3 separado que en (alojamiento de sitios web estático) redirige todas las solicitudes a https://example.com .

La redirección funciona como se esperaba para http://example.com a https://example.com , sin embargo, http (s): //www.example.com a https://example.com no lo hace.

En la ruta 53 tengo el dominio raíz alias a la primera distribución en la nube y www alias a la segunda.


Encontré la solución gracias a esta respuesta: Amazon S3 Redirect y Cloudfront

En breve:

Cloudfront no respeta la configuración de las reglas de redireccionamiento en S3 si el origen es solo la ID del depósito. En su lugar, tuve que establecer el origen del nombre de host del sitio web estático s3 proporcionado.


Para alojar el sitio web en AWS para que:

https://www.example.com, http://www.example.com y http://example.com redirigen a https://example.com

necesitas:

  1. Cree dos cubos S3 llamados: example.com y www.example.com .

  2. Active el alojamiento de sitios web estático en estos dos cubos.

  3. Configure la redirección en el cubo www.example.com a: https://example.com . En las propiedades del depósito, elija Alojamiento de sitio web estático => Redirigir todas las solicitudes a otro nombre de host . En el campo Destino o dominio , ingrese example.com , en el campo Protocolo , ingrese https

  4. Para estos depósitos, cree dos distribuciones CloudFront. Cada una de estas distribuciones apunta al depósito correspondiente:

  5. Para el Nombre de dominio de origen, proporcione las URL de depósito proporcionadas en la sección Alojamiento de sitios web estáticos . Las URL deben tener forma (o similar): example.com.s3-website-us-west-1.amazonaws.com

    • En ambas distribuciones, configure la redirección HTTP a HTTPS .

    • ¡NO USE LA URL SUGERIDA POR AMAZON AUTOCOMPLETE!

    • ¡NO ESTABLECER PROPIEDAD de objeto raíz predeterminado !

  6. Configure DNS configurando registros A para www.example.com y example.com para apuntar a las distribuciones correspondientes de CloudFront.

Por que funciona CloudFront proporciona la redirección de HTTP a HTTPS en ambos casos (con y sin www). El bucket para www.example.com proporciona redirección a example.com. Si no tuviera esta distribución, el depósito no podría redirigir la solicitud de https://www.example.com. S3 en sí no es compatible con HTTPS para el alojamiento de sitios web estáticos.