¿Cómo puedo reenviar el encabezado del host con integración privada para una API de REST de API Gateway?

4 minutos de lectura
0

Quiero usar el valor del encabezado del host para mi punto de conexión o dominio personalizado de Amazon API Gateway. ¿Cómo puedo reenviar el encabezado del host con integración privada para una API de REST de API Gateway?

Descripción breve

Amazon API Gateway sobrescribe el valor de host que recibe en la solicitud original al punto de conexión de integración. Amazon API Gateway asigna el valor de host en función de la URL del punto de conexión de la solicitud de integración.

Para usar el valor del encabezado de host de un punto de conexión de API Gateway en el backend, utilice el encabezado personalizado. Puede usar el encabezado personalizado en la solicitud de integración que contiene el valor del encabezado del host de la solicitud.

Resolución

Crear una API de REST de API Gateway

1.    Abra la consola de API Gateway.

2.    Elija Create API (Crear API).

-o bien-

(Si es la primera vez que utiliza la puerta de enlace API) Aparece una página que le presenta las características del servicio. En REST API (API de REST), elija Build (Crear). Cuando aparezca la ventana emergente Create Example API (Crear API de ejemplo), elija OK (Aceptar).

3.    En Choose an API type (Elegir un tipo de API), en el panel de REST API (API REST), elija Build (Crear).

4.    En Create new API (Crear una API nueva), elija New API (Nueva API).

5.    En Settings (Configuración), haga lo siguiente:
En API name (Nombre de la API), ingrese un nombre que describa el propósito de su API. Por ejemplo: ForwardHostHeader.
(Opcional) Para Description (Descripción), introduzca una breve descripción del propósito de su API. Por ejemplo, reenviar el encabezado del host para la integración privada.
Para Endpoint Type (Tipo de punto de conexión), elija ya sea Regional, Edge optimizado o Private (Privado).

6.    Elija Create API (Crear API).

Configure la solicitud de método y la solicitud de integración de su API

1.    Abra la consola de API Gateway.

2.    Siga las instrucciones para crear una API con integración privada mediante la consola de API Gateway.

3.    En Method Request (Solicitud de método), agregue HTTP Request Headers (Encabezados de solicitud de HTTP) como host.

4.    En Integration Request (Solicitud de integración), expanda HTTP Headers (Encabezados HTTP), y elija Add header (Agregar encabezado).

5.    Introduzca un nombre para el encabezado personalizado. Por ejemplo, my_host.

6.    En Mapped from (Mapeado desde), introduzca la solicitud de método. Por ejemplo, method.request.header.host y, a continuación, elija el icono de marca de verificación.

Implementar la API en una nueva etapa

1.    Abra la consola de API Gateway.

2.    Siga las instrucciones de Implementar una API de REST en una etapa. Para obtener más información, consulte Configuración de una etapa con la consola de API Gateway.

3.    En el panel Stage Editor (Editor de etapas), copie la Invoke URL (URL de invocación) al portapapeles. Puede usar esta URL para invocar su API.

Ejemplo de URL de invocación de la API de REST:

https://1a2bc3d456.execute-api.us-east-1.amazonaws.com/stage

4.    Si utiliza un equilibrador de carga de aplicación para su backend, puede probar esta configuración al agregar una regla. Elija “http header” como condición y especifique “my_host” como el mismo encabezado y valor que el valor de host de API Gateway.

5.    Pegue la URL de API Gateway en una ventana del navegador para invocar su API. La configuración del encabezado “my_host” de API Gateway reenvía el valor de host de API Gateway al equilibrador de carga de aplicación. El equilibrador de carga de aplicación cumple con las condiciones establecidas y, a continuación, devuelve la respuesta tal como está configurada.


Información relacionada

Configure los mapeos de datos de solicitudes y respuestas mediante la consola de API Gateway

Configurar una API mediante la consola de API Gateway

Notas importantes de Amazon API Gateway

¿Cómo integro una API de REST de API Gateway con un equilibrador de carga de aplicación?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 meses