Wie kann ich den Host-Header mit privater Integration für eine API-Gateway-REST-API weiterleiten?

Lesedauer: 3 Minute
0

Ich möchte den Host-Header-Wert für meinen Amazon API Gateway-Endpunkt oder meine benutzerdefinierte Domain verwenden. Ich möchte den Host-Header mit privater Integration für eine API-Gateway-REST-API weiterleiten.

Kurzbeschreibung

Amazon API Gateway überschreibt den Hostwert, den es in der ursprünglichen Anfrage an den Integrationsendpunkt erhält. Abhängig von der URL des Endpunkts der Integrationsanfrage weist Amazon API Gateway den Host-Wert zu.

Um den Host-Header-Wert eines API-Gateway-Endpunkts im Backend zu verwenden, verwenden Sie den benutzerdefinierten Header. Verwenden Sie den benutzerdefinierten Header in der Integrationsanforderung, der den Wert des Host-Headers der Anfrage enthält.

Behebung

Erstellen Sie eine API Gateway REST-API

1.Öffnen Sie die API Gateway-Konsole.

2.Wählen Sie API erstellen aus.

-oder-

Wenn Sie API Gateway zum ersten Mal verwenden, wird eine Seite angezeigt, die Sie mit dem Dienst vertraut macht. Wählen Sie für REST-API Erstellen aus. Wenn das Popup-FensterErstellen Beispiel-API angezeigt wird, wählen Sie OK.

3.Wählen Sie im Bereich REST-API unter API-Typ auswählen die Option Erstellen aus.

4.Wählen Sie unter Erstellen neue API die Option Neue API aus.

  1. Geben Sie in Einstellungen die folgenden Werte ein:
    Geben Sie als API-Name einen Namen ein, der den Zweck Ihrer API beschreibt. Beispiel: HostHeader weiterleiten.
    (Optional) Geben Sie unter Beschreibung eine kurze Beschreibung des Zwecks Ihrer API ein. Zum Beispiel Weiterleiten Host-Header für private Integration.
    Wählen Sie als Endpunkttyp entweder Regional, Edge-optimiert oder Privat aus.

6.Wählen Sie API erstellen aus.

Konfigurieren Sie die Methodenanfrage und die Integrationsanfrage Ihrer API

1.Öffnen Sie die API Gateway-Konsole.

2.Folgen Sie den Anweisungen, um mithilfe der API Gateway-Konsole eine API mit privater Integration zu erstellen.

3.Fügen Sie in Methoden-Anfrage HTTP-Anforderungsheader als Host hinzu.

4.Erweitern Sie in Integrationsanfrage die Option HTTP-Header und wählen Sie Hinzufügen Header aus.

5.Geben Sie einen Namen für den benutzerdefinierten Header ein. Zum Beispiel ** my_host**.

6.Geben Sie im Feld **Zugeordnet von ** die Methodenanforderung ein. Zum Beispiel method.request.header.host. Wählen Sie dann das Häkchen-Symbol.

Stellen Sie Ihre API in einer neuen Phase bereit

1.Öffnen Sie die API Gateway-Konsole.

2.Folgen Sie den Anweisungen zum Bereitstellen einer REST-API für eine Phase. Weitere Informationen finden Sie unter Eine Phase mithilfe der API Gateway-Konsole einrichten.

3.Kopieren Sie oben im Bereich Bühne - Redakteur die Invoke-URL in Ihre Zwischenablage. Verwenden Sie diese URL, um Ihre API aufzurufen.

**Beispiel für eine URL zum Aufrufen der REST-API: **

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

4.Wenn Sie einen Application Load Balancer für Ihr Backend verwenden, fügen Sie eine Regel hinzu, um Ihre Konfiguration zu testen. Wählen Sie „http-Header“ als Bedingung und geben Sie dann „my_host“ als denselben Header und Wert wie den API-Gateway-Hostwert an.

5.Fügen Sie die API Gateway-URL in ein Browserfenster ein, um Ihre API aufzurufen. Die Header-Konfiguration „my_host“ in API Gateway leitet den API-Gateway-Hostwert an den Application Load Balancer weiter. Der Application Load Balancer entspricht dem Bedingungssatz und gibt dann die Antwort wie konfiguriert zurück.

Ähnliche Informationen

Einrichten von Zuordnungen von Anforderungs- und Antwortdaten mithilfe der API Gateway-Konsole

So importieren Sie eine API mithilfe der API Gateway-Konsole

Wichtige Hinweise zu Amazon API Gateway

Wie integriere ich eine API Gateway-REST-API in einen Application Load Balancer?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr