Quiero usar un nombre de dominio personalizado en Amazon API Gateway con Amazon CloudFront para dirigir las solicitudes a varias API y asignar mi ruta base.
Resolución
Cómo crear el nombre de dominio personalizado y asociar tus API
Crea un nombre de dominio personalizado para tus API en API Gateway. Para asignar varias API al mismo dominio con diferentes rutas base, consulta lo siguiente:
Después de crear un nombre de dominio personalizado en API Gateway, actualiza tu registro de DNS para asignar el nombre de dominio personalizado a tu punto de enlace de la API. Para actualizar el DNS en Amazon Route 53, consulta Enrutamiento del tráfico a una API de Amazon API Gateway mediante tu nombre de dominio.
El siguiente ejemplo usa una configuración de nombre de dominio personalizado regional de la API de REST:
- https://restapiId1.execute-api.us-west-2.amazonaws.com/stage1/example1/home
- https://restapiId2.execute-api.us-west-2.amazonaws.com/stage2/example2/home
Ejemplo de asignación de rutas base de dominio personalizado:
- La ruta base /api1 se asigna a la etapa stage1 de la API de REST con el ID restapiId1.
- La ruta base /api2 se asigna a la etapa stage2 de la API de REST con el ID restapiId2.
Ejemplos de URL de dominio personalizadas:
- https://apigw.customdomain.com/api1/example1/home
- https://apigw.customdomain.com/api2/example2/home
Creación de una distribución web de CloudFront
Para crear una distribución, sigue estos pasos:
- Abre la consola de CloudFront.
- Selecciona Crear distribución.
- Para Origin domain(Dominio de origen), introduce tu nombre de dominio personalizado de API Gateway. Por ejemplo, apigw.customdomain.com.
- Para Origin Path, (Ruta de origen) déjalo en blanco.
Nota: Si la ruta base de la ruta de origen es incorrecta, CloudFront devuelve un error 403 Forbidden con el texto Missing Authentication Token. Para obtener más información, consulta ¿Cómo puedo solucionar los errores 403 "Missing Authentication Token" en el punto de enlace de la API de REST de API Gateway?
- En Minimum origin SSL protocol (Protocolo SSL de origen mínimo), selecciona TLSv1.2.
- Para Política de protocolo de origen, selecciona Solo HTTPS.
- (Opcional) Para añadir encabezados personalizados a tu origen, selecciona Agregar encabezado e introduce el nombre de encabezado y el valor.
- En Origin request policy (Política de solicitudes de origen), selecciona AllViewerExceptHostHeader para reenviar todos los parámetros de la solicitud.
- (Opcional) Para desactivar la caché, en Cache policy (Política de caché), selecciona CachingDisabled.
- En Viewer protocol policy (Política de protocolo de visores), selecciona Solo HTTPS o Redirect HTTP to HTTPS (Redirigir HTTP a HTTPS) según sea necesario.
- Selecciona Crear distribución.
Después de crear una distribución, el estado de la distribución cambia de InProgress a Deployed.
Prueba de distribución web de CloudFront
Sigue estos pasos:
- Abre la consola de CloudFront.
- Anota el nombre de dominio de tu distribución web. Por ejemplo, a222222bcdefg5.cloudfront.net.
- Prueba de una distribución.
Una prueba satisfactoria devuelve una respuesta HTTP 200 OK. La propagación tardará hasta 24 horas. Si la solicitud no devuelve una respuesta, el registro DNS de CloudFront aún está en curso. Si la distribución no se ha implementado, es posible que recibas un error HTTP 5xx. Pueden producirse otros errores HTTP 4xx si la propagación del DNS está incompleta.
Después de crear una distribución de CloudFront, puedes solicitar dos API de una única distribución de CloudFront y tu nombre de dominio personalizado de API Gateway.
Para reenviar los encabezados de autorización entrantes para tu distribución web de CloudFront, consulta ¿Cómo configuro API Gateway con mi propia distribución de CloudFront?
Información relacionada
Tipos de punto de enlace para las API de REST en API Gateway