Comment puis-je transférer l'en-tête hôte avec intégration privée pour une API REST API Gateway ?

Lecture de 4 minute(s)
0

Je souhaite utiliser la valeur d'en-tête de l'hôte pour mon point de terminaison Amazon API Gateway ou mon domaine personnalisé. Comment puis-je transférer l'en-tête hôte avec intégration privée pour une API REST API Gateway ?

Brève description

Amazon API Gateway remplace la valeur d'hôte qu'il reçoit dans la demande d'origine vers le point de terminaison d'intégration. Amazon API Gateway attribue la valeur d'hôte en fonction de l'URL du point de terminaison de la demande d'intégration.

Pour utiliser la valeur d'en-tête hôte d'un point de terminaison API Gateway dans le backend, utilisez l'en-tête personnalisé. Vous pouvez utiliser l'en-tête personnalisé dans la demande d'intégration qui contient la valeur de l'en-tête de l'hôte de la demande.

Solution

Créer une API REST API Gateway

1.    Ouvrez la console API Gateway.

2.    Sélectionnez Create API (Créer une API).

-ou-

Si vous utilisez API Passerelle pour la première fois, une page vous présentant les fonctionnalités de l'outil s'affiche. Dans API REST, choisissez Build (Créer). Lorsque la fenêtre contextuelle Create Example API (Créer l'exemple d'API) apparaît, choisissez OK.

3.    Pour Choose an API type (Choisir un type d'API), dans le panneau API REST, choisissez Build.

4.    Sous Create new API (Créer une nouvelle API), choisissez New API (Nouvelle API).

5.    Dans Settings (Paramètres), procédez comme suit :
API name (Nom de l'API), saisissez un nom qui décrit l'objectif de votre API. Par exemple : ForwardHostHeader.
(Facultatif) Dans la zone Description, entrez une brève description de l'objectif de votre API. Par exemple, Forward host header pour une intégration privée.
DansType de point de terminaison, choisissez Régional, Optimisé par Edge ou Privé.

6.    Sélectionnez Create API (Créer une API).

Configurez la demande de méthode et la demande d'intégration de votre API

1.    Ouvrez la console API Gateway.

2.    Suivez les instructions pour créer une API avec intégration privée à l'aide de la console API Gateway.

3.    Dans Method Request, ajoutez des en-têtes de requête HTTP en tant qu'hôte.

4.    Dans Demande d'intégration, développez les en-têtes HTTP et choisissez Ajouter un en-tête.

5.    Entrez un nom pour l'en-tête personnalisé. Par exemple, my_host.

6.    Dans Mappé depuis, entrez la demande de méthode. Par exemple, method.request.header.host, puis cliquez sur l'icône en forme de coche.

Déployer votre API vers une nouvelle étape

1.    Ouvrez la console API Gateway.

2.    Suivez les instructions de la section Déployer une API REST vers une étape. Pour plus d'informations, consultez la section Configuration d'une étape à l'aide de la console API Gateway.

3.    Dans le panneau Stage Editor (Éditeur d'étape), copiez l'URL d'appel dans le presse-papiers. Vous pouvez utiliser cette URL pour appeler votre API.

Exemple d'URL d'appel de l'API REST

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

4.    Si vous utilisez un Application Load Balancer pour votre backend, vous pouvez tester cette configuration en ajoutant une règle. Choisissez « en-tête http » comme condition et spécifiez « my_host » comme en-tête et valeur identiques à la valeur de l'hôte API Gateway.

5.    Collez l'URL API Gateway dans une fenêtre de navigateur pour appeler votre API. La configuration de l'en-tête « my_host » dans API Gateway transmet la valeur de l'hôte API Gateway à l'équilibreur de charge d'application. L'Application Load Balancer répond aux conditions définies, puis renvoie la réponse telle que configurée.


Informations connexes

Configuration des mappages de données de demande et de réponse à l'aide de la console API Gateway

Configurer une API à l'aide de la console API Gateway

Remarques importantes sur Amazon API Gateway

Comment intégrer une API REST API Gateway avec un Application Load Balancer ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois