dominio de cloudfront reemplazado por el nombre dns del equilibrador de carga de la aplicación al redirigir de http a https

1

Estoy usando AWS cloudfront y el balanceador de carga de aplicaciones (ALB) de AWS para mi aplicación. Alb está configurado para dos escuchas para el puerto 80 y 443, ambos reenvían el tráfico a un solo grupo de destino (tipo de instancia) en HTTP (regla predeterminada). Cloudfront está configurado para usar ALB como origen, que tiene la configuración dada. Política de protocolo de origen = HTTP, Método de entrega = Web, Política de protocolo de visor = HTTP & HTTPS& Uso del certificado ssl predeterminado de Cloudfront.

Dado que mi ALB está escuchando en los puertos 80 y 443, mi aplicación funciona bien tanto en http como en https. Ahora, cuando edito la regla predeterminada para el oyente para el puerto 80 para redirigir el tráfico al puerto 443 (previamente configurado para reenviar al grupo objetivo en 80 como se mencionó anteriormente) para la redirección https, mi dominio de Cloudfront fue reemplazado por mi dominio ALB y recursos (css , imágenes, etc.) no se cargan.

p. ej., antes de la URL de redireccionamiento de un recurso daxxxxxxxxxxxx.cloudfront.net/media/jdfghusfe/abc.png(con dominio de Cloudfront)

Después de la redirección -
URL para un recurso -main-albxxxxxx-amazonaws.com/media/jdfghusfe/abc.png

¿Alguien puede ayudar? Gracias por adelantado.

1
4

Bien, hemos resuelto esto. En primer lugar, no estábamos pasando por alto el encabezado del Host. Entonces, para que funcione, configuramos 'Caché basado en encabezados de solicitud seleccionados' para incluir en la lista blanca y en la lista blanca el encabezado del host. (Para saber más, vea esta respuesta AWS Cloudfront + Load Balancer, la URL cambia del dominio principal al subdominio del balanceador de carga ) Ahora, cuando el host está configurado correctamente, estábamos alcanzando el ciclo de redireccionamiento infinito o un error de certificado incorrecto. Para salir de esto, cambiamos la forma en que CDN (cloudfront) establece conexión con nuestro equilibrador de carga. Anteriormente, solo era mediante HTTP para evitar problemas con los certificados. Pero ahora es imposible, porque estamos redirigiendo desde HTTP y crearía un ciclo de redirección infinito. Así que configuramos HTTPSen la conexión CDN <-> ALB (Política de protocolo de origen actualizada paraHTTPS). Y para evitar problemas con los certificados, cambiamos el xxxxx.cloudfront.netdominio al cdn.mysite.com(usando CNAME en las configuraciones de route53) y agregamos nuestro certificado personalizado usado para * .mysite.com.

2
  • Gracias por publicar esta solución, ¡esto me ha ayudado!
    Alyas
    22 de septiembre a las 17:58
  • Habiendo pasado por esto, todas las otras respuestas están desactualizadas o son demasiado vagas para entenderlas realmente. Aquí hay un recorrido: stackoverflow.com/questions/69399672 el dia de ayer