Come posso configurare un endpoint di dominio personalizzato per più API di Gateway Amazon API dietro una distribuzione Web di CloudFront?

4 minuti di lettura
0

Desidero utilizzare un endpoint di dominio personalizzato di Gateway Amazon API dietro una distribuzione Web di Amazon CloudFront. Quindi, voglio inoltrare la richiesta API a più API utilizzando la mappatura del percorso di base. In che modo posso farlo?

Risoluzione

Crea il nome di dominio personalizzato per la tua REST API, l'API HTTP o l'API WebSocket

Se non l'hai ancora fatto, crea il tuo nome di dominio personalizzato e quindi associalo a due API diverse.

Nota: un nome di dominio personalizzato per un'API WebSocket non può essere mappato alle REST API o alle API HTTP.

Per le REST API, segui le istruzioni nella pagina Configurazione di nomi di dominio personalizzati per le REST API.

Per le API HTTP, segui le istruzioni nella pagina Configurazione di nomi di dominio personalizzati per le API HTTP.

Per le API WebSocket, segui le istruzioni nella pagina Configurazione di nomi di dominio personalizzati per le API WebSocket.

Nota: dopo aver creato un nome di dominio personalizzato in Gateway Amazon API, è necessario creare o aggiornare il record di risorse del provider DNS per mapparlo all'endpoint API. Per ulteriori informazioni, consulta la pagina Registrare un nome di dominio.

L'esempio in questo articolo usa una configurazione del nome di dominio personalizzato regionale della REST API.

Esempi di URL degli endpoint API

https://restapiId1.execute-api.us-west-2.amazonaws.com/example1/home
https://restapiId2.execute-api.us-west-2.amazonaws.com/example2/home

Esempio di URL di dominio personalizzato (senza mappatura del percorso di base)

https://apigw.customdomain.com/example1/home
https://apigw.customdomain.com/example2/home

Crea una distribuzione Web di CloudFront

1.    Apri la console CloudFront, quindi seleziona Create Distribution (Crea distribuzione).

2.    Nella pagina Select a delivery method for your content (Seleziona un metodo di consegna per i tuoi contenuti), in Web, scegli Get started (Inizia).

3.    Nella pagina Create Distribution (Crea distribuzione), per Origin Domain (Dominio di origine), incolla l'URL del dominio personalizzato della tua API in modo simile al seguente esempio:

esempio di nome di dominio di origine

https://apigw.customdomain.com
  1. Lascia vuoto il campo Origin path (Percorso di origine). Nota: l'inserimento di un percorso di base errato per il percorso di origine quando si richiama la distribuzione Web di CloudFront può causare un errore. Ad esempio, un errore di richiesta non autorizzata che restituisce il messaggio "Missing Authentication Token" (Token di autenticazione mancante) e un codice di risposta 403 Forbiden (Accesso negato).

5.    Per Minimum Origin SSL Protocol (Protocollo SSL di origine minimo), è consigliabile scegliere TLSv1.2. Non scegliere SSLv3. Gateway Amazon API non supporta il protocollo SSLv3.

6.    Per Protocol (Protocollo), scegli HTTPS Only (Solo HTTPS). Nota: Gateway Amazon API non supporta endpoint HTTP non crittografati. Per ulteriori informazioni, consulta la pagina Domande frequenti su Gateway Amazon API.

7.    (Facoltativo) Per inoltrare intestazioni personalizzate all'origine, scegli Add header (Aggiungi intestazione) e inserisci Header name (Nome dell'intestazione) e Value (Valore). Nota: per un elenco di intestazioni personalizzate che CloudFront non può aggiungere, consulta la pagina Intestazioni personalizzate che CloudFront non può aggiungere alle richieste di origine.

8.    Scegli Create distribution (Crea distribuzione).

Dopo che CloudFront ha creato la distribuzione, il valore della colonna Status (Stato) per la distribuzione cambia da InProgress (In corso) a Deployed (Distribuito).

Per ulteriori informazioni, consulta la pagina Creazione di una distribuzione.

Testa la tua distribuzione Web di CloudFront

1.    Apri la console CloudFront, copia il nome di dominio della tua distribuzione Web negli appunti come nel seguente esempio:

Esempio di nome di dominio non personalizzato

a222222bcdefg5.cloudfront.net

2.    Segui le istruzioni per testare una distribuzione.

Un test riuscito restituisce una risposta 200 OK. Se viene visualizzato un codice di stato 500 di errore del server, è possibile che la distribuzione Web non venga distribuita. Se non ricevi risposta, significa che il record DNS di CloudFront non è stato ancora propagato.

Dopo aver creato la distribuzione CloudFront, la configurazione viene configurata come segue:

a222222bcdefg5.cloudfront.net/example1/home --> apigw.customdomain.com/example1/home --> API-1

a222222bcdefg5.cloudfront.net/example2/home --> apigw.customdomain.com/example2/home --> API-2

Ora puoi fare una richiesta a due API da un'unica distribuzione CloudFront con il tuo nome di dominio personalizzato di Gateway Amazon API.

Per configurare l'inoltro per le intestazioni di autorizzazione in entrata per la tua distribuzione Web di CloudFront, vedi How do I set up API Gateway with my own CloudFront distribution? (Come posso configurare Gateway Amazon API con la mia distribuzione CloudFront?)


Informazioni correlate

Scelta di un tipo di endpoint da configurare per un'API di Gateway Amazon API

Utilizzo delle mappature API per le API Websocket

Utilizzo delle mappature API per le REST API

Utilizzo delle mappature API per le API HTTP