amazon web services - route - Cómo hacer un CNAME con el punto final de la API de Amazon API
cloudfront route 53 (2)
Hay varias razones por las que no funciona simplemente señalar Cloudflare en su dominio API Gateway y llamarlo día:
- API Gateway utiliza el alojamiento compartido, por lo que utiliza el nombre de dominio para averiguar a qué API enviar las solicitudes. No tiene forma de saber que
api.yourdomain.com
pertenece a su API. - API Gateway requiere que use
https
, pero el certificado que utiliza solo es válido para el dominio predeterminado.
Hay una solución, sin embargo. Estos son los pasos que seguí cuando configuré esto recientemente:
- Genere un certificado de origen desde la pestaña de cifrado del panel Cloudflare.
- Importe el certificado al administrador de certificados de AWS en la región
us-east-1
, incluso si su API se encuentra en una región diferente. Si se le solicita la cadena de certificados, puede copiarla desde here . - Agregue su dominio personalizado en la consola API Gateway y seleccione el certificado que acaba de agregar. Consulte el artículo de asistencia de AWS para obtener más información sobre cómo hacerlo.
- Normalmente, el dominio personalizado tarda unos 45 minutos en finalizar la inicialización. Una vez hecho, te dará una nueva URL de Cloudfront. Continúa y asegúrate de que tu API aún funcione a través de esta nueva URL.
- Vaya a la pestaña DNS de Cloudflare y configure un registro CNAME que apunte a la URL de Cloudfront que acaba de crear.
- Cambie a la pestaña de cifrado y configure su modo SSL como "Completo (estricto)". Si omite este paso, obtendrá un bucle de redireccionamiento.
Eso es. ¡Disfruta de tu nueva API de alta disponibilidad servida desde tu dominio personalizado!
Estoy intentando configurar un CNAME en Cloudflare para que apunte a un punto final de Amazon API Gateway. El CNAME es para usar cuando se refiere a uno de mis subdominios. La puerta de enlace a su vez apunta a la IP de un servidor en Digital Ocean. Soy muy nuevo en los servicios web de Amazon y agradecería que alguien me brinde una descripción general de la configuración correcta para DNS, Amazon Gateway y Cloudfront (que creo que es necesario para exponer la puerta de enlace a servidores DNS externos a Amazon). Cualquier ayuda sería muy apreciada.
ACTUALIZAR
He estado trabajando en esto por un tiempo y no estoy progresando mucho. ¿Alguien tiene una idea si este es un enfoque viable o de qué otra forma se podría hacer?
ACTUALIZACIÓN2
Pensé que necesitaba agregar el registro CNAME a cloudFlare y simplemente terminé en un bucle de redirección, observado por:
curl -L -i -v https://sub.mydomain.com/
Configurar el dominio personalizado de la puerta de enlace API de Amazon con CloudFlare
En su consola de administración de AWS, vaya al servicio API Gateway y seleccione
Custom Domain Names
en el menú de la izquierda.Haga clic en el botón
Create
.Inicie sesión en CloudFlare, seleccione su dominio y abra la pestaña
Crypto
Vaya a
SSL
y configure su modo SSL como "Completo (estricto)" para evitar un bucle de redireccionamiento.Vaya a
Origin Certificates
y haga clic enCreate Certificate
Deje CloudFlare generar una clave privada y una CSR y elija RSA como el tipo de clave privada
Asegúrese de que el nombre de host para su dominio API personalizado esté cubierto. (por ejemplo,
api.mydomain.com
. Puede configurar específicamente este dominio personalizado o usar un comodín como * .midominio.com tal como está configurado de manera predeterminada.Elija
PEM
como el formato de clave que se selecciona de forma predeterminada.En AWS cambie a la región
US-EAST-1
y vaya alCertificate Manager
.Haga clic en
Import a Certificate
.Copie el cuerpo del certificado de su certificado CloudFlare en el cuerpo del Certificado a la configuración del dominio personalizado en AWS Management Console.
Copie la clave privada al campo de clave privada del certificado en la consola
En la cadena de certificados copie Cloudflare Origin CA - RSA Root que se puede encontrar here .
Ingrese su nombre de dominio personalizado en la consola de AWS y un nombre para su certificado
Ahora el nombre de dominio personalizado se creará en AWS CloudFront. El dominio puede tardar hasta una hora en activarse.
Lo siguiente que debe hacer es configurar las asignaciones del dominio personalizado en AWS Console.
El último paso es crear un nuevo
CNAME Record
en CloudFlare para vincular su dominio a la URL de CloudFront. Cuando abre la página de configuración de su dominio personalizado en la consola de AWS, copie el nombre de dominio de Distribución. Este es el dominio que debe usar al crear el nuevoCNAME Record
.