Come posso inoltrare l'header host con integrazione privata per un'API REST API Gateway?

3 minuti di lettura
0

Desidero utilizzare il valore dell'header host per il mio endpoint o dominio personalizzato Amazon API Gateway. Voglio inoltrare l'header host con integrazione privata per un'API REST API Gateway.

Breve descrizione

Amazon API Gateway sovrascrive il valore dell'host ricevuto nella richiesta originale all'endpoint di integrazione. Amazon API Gateway assegna il valore dell'host in base all'URL dell'endpoint della richiesta di integrazione.

Per utilizzare il valore dell'header host di un endpoint API Gateway nel backend, utilizza l'header personalizzato. Utilizza l'header personalizzato nella richiesta di integrazione che contiene il valore dell'header host della richiesta.

Risoluzione

Crea una un'API REST API Gateway

1.    Apri la console API Gateway.

2.    Scegli Create API (Crea API).

-oppure-

Se è la prima volta che utilizzi API Gateway, viene visualizzata una pagina di introduzione alle caratteristiche del servizio. In REST API, scegli Build (Costruisci). Quando viene visualizzata la finestra pop-up Create Example API (Crea esempio API), scegli OK.

3.    Per Choose an API type (Scegli un tipo di API), nel riquadro REST API, scegli ** Build**.

4.    In Create new API (Crea nuova API), scegli New API (Nuova API).

5.    In Settings (Impostazioni), inserisci questi valori:
In API name (Nome dell'API), inserisci un nome che descriva lo scopo dell'API. Ad esempio: ForwardHostHeader.
(Facoltativo) In Description (Descrizione), inserisci una breve descrizione dello scopo dell'API. Ad esempio, Forward host header for private integration.
Per Endpoint Type (Tipo di endpoint), scegli Regional (Regionale), Edge optimized (Ottimizzato per Edge) o Private (Privato).

6.    Scegli Create API (Crea API).

Configura la richiesta del metodo e la richiesta di integrazione della tua API

1.    Apri la console API Gateway.

2.    Segui le istruzioni per creare un'API con integrazione privata utilizzando la console API Gateway.

3.    In Method Request (Richiesta del metodo), aggiungi HTTP Request Headers (Header di richiesta HTTP) come host.

4.    In Integration Request (Richiesta di integrazione), espandi le HTTP Header (Intestazioni HTTP) e scegli Add header (Aggiungi intestazione).

5.    Inserisci un nome per l'intestazione personalizzata. Ad esempio, my_host.

6.    In Mapped from (Mappatura da), inserisci la richiesta del metodo. Ad esempio, method.request.header.host. Quindi, scegli l'icona del segno di spunta.

Implementa l’API in una nuova fase

1.    Apri la console API Gateway.

2.    Segui le istruzioni in Distribuzione di un'API REST in una fase. Per ulteriori informazioni, consulta Configurazione di una fase utilizzando la console API Gateway.

3.    Nel riquadro Stage Editor (Editor di fase), copia l'URL di richiamo negli appunti. Usa questo URL per richiamare la tua API.

Esempio di URL di richiamo di un'API REST:

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

4.    Se utilizzi un Application Load Balancer per il backend, aggiungi una regola per testare la configurazione. Scegli "http header" come condizione, quindi specifica "my_host" come header e valore del valore host API Gateway.

5.    Incolla l'URL di API Gateway in una finestra del browser per richiamare la tua API. La configurazione dell'intestazione my_host" in API Gateway inoltra il valore dell'host API Gateway all'Application Load Balancer. L'Application Load Balancer soddisfa il set di condizioni e quindi restituisce la risposta come configurato.

Informazioni correlate

Configurazione delle mappature dei dati di richiesta e di risposta tramite la console API Gateway

Configurazione di un'API mediante la console API Gateway

Note importanti Amazon API Gateway

Come posso integrare una REST API di API Gateway con un Application Load Balancer?