¿Cómo vincular correctamente Heroku, CloudFront, Route53 con un SSL personalizado?

1

Estoy intentando configurar una aplicación web alojada en Heroku. El enrutamiento de DNS se realiza a través de AWS Route53 y la distribución a través de CloudFront. He comprado mi propio certificado SSL para, digamos, www.example.com.

Todo funciona, excepto que quiero poder usar subdominios y luego mostrar una aplicación diferente dentro de Heroku. Esto también funciona a nivel local. Sin embargo, si incluyo en la lista blanca los encabezados de host en CloudFront para poder realizar este enrutamiento, Heroku lo redireccionará a una aplicación desconocida.

AWS dice que es una configuración incorrecta por parte de Heroku y Heroku afirma que configuré incorrectamente el enrutamiento DNS y necesito aplicar el CNAME generado a Route53. Pero ese CNAME se enruta a CloudFront.

Entonces, la configuración en este momento es:

Heroku

Hosting Web App. Automatic Certificate Management is enabled. No domain added.

configuración de heroku

Ruta53

CNAME points to CloudFront dist. As well as A and AAAA. Also for * wildcard

Configuración de Route53

CloudFront

Origin points to Heroku deployment. Has CNAMES for the custom domain URLs like *.example.com

Configuración de distribución de CloudFront Configuración de origen

Mi propio SSL personalizado con * compatibilidad con comodines se cargó en AWS CM y se agregó a CloudFront. Funciona, pero puedo imaginar que lo he configurado mal en algún paso.

¿Por qué si envío un encabezado de host que mi implementación de Heroku redirige a la aplicación incorrecta?

6
  • Publique la configuración relevante de cada servicio. Thomas Timbul 8/11/19 a las 14:05
  • @ThomasTimbul En realidad, no quería publicar ninguno de los detalles de configuración en un foro público. ¿Alguna sugerencia? Kevin Toet 8/11/19 a las 14:06
  • ¿Se puede hacer cambiando información confidencial, como nombres de dominio, etc.? ¿O una imagen en la que borras las cosas? Por lo general, la forma más fácil de mala configuración spot es por corrección de pruebas que ....Thomas Timbul 8/11/19 a las 14:15
  • @ThomasTimbul no es un duplicado, ya que utiliza un Bucket S3 y no un origen fuera de AWS. Haré algunas capturas de pantalla de la configuraciónKevin Toet 8/11/19 a las 15:05
1

Después de comunicarse con Heroku y vincular esta publicación. Me quedó claro que Heroku y Route56 / CloudFront tienen una relación especial y no requieren que la referencia CNAME creada por Heroku se agregue a AWS y la validación de Heroku se puede descuidar.

La ejecución de lo siguiente en la CLI funcionó y los encabezados de host no se reciben y no se produce ninguna redirección en el lado de Heroku.

heroku domains:add example.com -a heroku-app-name
heroku domains:add *.example.com -a heroku-app-name