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. Wie kann ich 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. Amazon API Gateway weist den Host-Wert abhängig von der Endpunkt-URL der Integrationsanfrage zu.

Um den Host-Header-Wert eines API Gateway-Endpunkts im Backend zu verwenden, verwenden Sie den benutzerdefinierten Header. Sie können den benutzerdefinierten Header in der Integrationsanfrage verwenden, der den Wert des Anforderungs-Host-Headers enthält.

Lösung

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) Eine Seite mit einer Einführung in die Funktionen des Services wird angezeigt. Wählen Sie unter REST-API die Option Entwickeln aus. Wenn das Popup-Fenster Beispiel-API erstellen angezeigt wird, wählen Sie OK.

3.    Wählen Sie für Einen API-Typ wählen im REST-API-Bereich die Option Entwickeln aus.

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

5.    Gehen Sie in den Einstellungen wie folgt vor:
Geben Sie für API-Name einen Namen ein, der den Zweck Ihrer API beschreibt. Zum Beispiel: ForwardHostHeader.
(Optional) Geben Sie als Beschreibung eine kurze Beschreibung des Zwecks Ihrer API ein. Beispiel: Host-Header für private Integration weiterleiten.
Wählen Sie als Endpunkttyp entweder Regional, Edge-optimiert oder Privat.

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 unter Methodenanfrage HTTP-Request-Header als Host hinzu.

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

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

6.    Geben Sie im Feld Mapped from die Methodenanforderung ein. Zum Beispiel method.request.header.host, und wählen Sie dann das Häkchensymbol.

Stellen Sie Ihre API für eine neue Stufe bereit

1.    Öffnen Sie die API-Gateway-Konsole.

2.    Befolgen Sie die Anweisungen zum Bereitstellen einer REST-API auf einer Stufe. Weitere Informationen finden Sie unter Einrichten einer Stufe mithilfe der API-Gateway-Konsole.

3.    Kopieren Sie im Bereich Stufeneditor die Aufruf-URL in Ihre Zwischenablage. Sie können diese URL verwenden, um Ihre API aufzurufen.

Beispiel für eine REST-API-Aufruf-URL

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

4.    Wenn Sie einen Application Load Balancer für Ihr Backend verwenden, können Sie diese Konfiguration testen, indem Sie eine Regel hinzufügen. Wählen Sie „http-Header“ als Bedingung und geben Sie „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

Richten Sie Anforderungs- und Antwortdatenzuordnungen mithilfe der API Gateway-Konsole ein

Richten Sie eine API mit der API Gateway-Konsole ein

Wichtige Hinweise zu Amazon API Gateway

Wie integriere ich ein API Gateway REST API mit einem Application Load Balancer?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten