Wie konfiguriere ich einen benutzerdefinierten Domain-Endpunkt für mehrere API-Gateway-APIs hinter einer CloudFront-Webdistribution?
Ich möchte einen benutzerdefinierten Domainnamen auf Amazon API Gateway mit Amazon CloudFront verwenden, um Anfragen an mehrere APIs weiterzuleiten und meinen Basispfad abzubilden.
Lösung
Erstelle den benutzerdefinierten Domainnamen und verknüpfe deine APIs
Erstelle einen benutzerdefinierten Domainnamen für deine APIs auf API Gateway. Informationen zur Zuordnung mehrerer APIs zu derselben Domain mit unterschiedlichen Basispfaden findest du hier:
- Informationen zu REST-APIs findest du unter Einrichtung benutzerdefinierter Domainnamen für REST-APIs.
- Informationen zu HTTP-APIs findest du unter Einrichtung benutzerdefinierter Domainnamen für HTTP-APIs.
- Informationen zu WebSocket-APIs findest du unter Einrichtung benutzerdefinierter Domainnamen für WebSocket-APIs.
Nachdem du einen benutzerdefinierten Domainnamen in API Gateway erstellt hast, aktualisiere deinen DNS-Datensatz, um den benutzerdefinierten Domainnamen deinem API-Endpunkt zuzuordnen. Informationen zum Aktualisieren von DNS in Amazon Route 53 findest du unter Weiterleiten des Datenverkehrs an eine API in Amazon API Gateway mithilfe des Domainnamens.
Im folgenden Beispiel wird ein REST-API-Setup für regionale benutzerdefinierte Domainnamen verwendet:
- https://restapiId1.execute-api.us-west-2.amazonaws.com/stage1/example1/home
- https://restapiId2.execute-api.us-west-2.amazonaws.com/stage2/example2/home
Beispiel für eine benutzerdefinierte Domain-Basispfadzuordnung:
- Der Basispfad /api1 ist der Stufe stage1 der REST-API mit der ID restapiId1 zugeordnet.
- Der Basispfad /api2 ist der Stufe stage2 der REST-API mit der ID restapiId2 zugeordnet.
Beispiel für benutzerdefinierte Domain-URLs:
- https://apigw.customdomain.com/api1/example1/home
- https://apigw.customdomain.com/api2/example2/home
Eine CloudFront-Webdistribution erstellen
Gehe wie folgt vor, um eine Distribution zu erstellen:
- Öffne die CloudFront-Konsole.
- Wähle Distribution erstellen aus.
- Gib für Origin domain (Ursprungs-Domain) den benutzerdefinierten API-Gateway-Domainnamen ein. Zum Beispiel apigw.customdomain.com.
- Lass das Feld Origin path (Ursprungspfad) leer.
Hinweis: Wenn der Basispfad im Ursprungspfad falsch ist, gibt CloudFront den Fehler „403 Forbidden“ mit Missing Authentication Token zurück. Weitere Informationen findest du unter Wie behebe ich Fehler vom Typ 403 „Missing Authentication Token“ am REST-API-Endpunkt von API Gateway? - Wähle für Minimum origin SSL protocol (SSL-Protokoll mit minimalem Ursprung) die Option TLSv1.2 aus.
- Wähle für Richtlinie des Quellprotokolls die Option Nur HTTPS aus.
- (Optional) Um benutzerdefinierte Header zu deinem Ursprung hinzuzufügen, wähle Header hinzufügen aus und gib deinen Header-Namen und Wert ein.
- Wähle für die Richtlinie der Ursprungsanfrage die Option AllViewerExceptHostHeader aus, um alle Anfrageparameter weiterzuleiten.
- (Optional) Um den Cache zu deaktivieren, wähle für die Cache-Richtlinie die Option CachingDisabled aus.
- Wähle für die Viewer-Protokollrichtlinie die Option Nur HTTPS oder Redirect HTTP to HTTPS (HTTP zu HTTPS umleiten) aus, je nach Bedarf.
- Wähle Distribution erstellen aus.
Nachdem du eine Distribution erstellt hast, ändert sich der Distributionsstatus von InProgress zu Deployed.
So testest du die CloudFront-Webdistribution
Gehe wie folgt vor:
- Öffne die CloudFront-Konsole.
- Notiere dir den Domainnamen deiner Webdistribution. Zum Beispiel a222222bcdefg5.cloudfront.net.
- Teste deine Distribution.
Ein erfolgreicher Test gibt eine Antwort HTTP 200 OK zurück. Die Propagierung dauert bis zu 24 Stunden. Wenn die Anfrage keine Antwort zurückgibt, ist der CloudFront-DNS-Datensatz noch in Bearbeitung. Wenn die Distribution nicht bereitgestellt wurde, erhältst du möglicherweise einen HTTP 5xx-Fehler. Andere HTTP 4xx-Fehler können auftreten, wenn die DNS-Propagierung unvollständig ist.
Nachdem du eine CloudFront-Distribution erstellt hast, kannst du zwei APIs von einer einzigen CloudFront-Distribution und deinem benutzerdefinierten API-Gateway-Domainnamen anfordern.
Informationen zum Weiterleiten eingehender Autorisierungsheader für deine CloudFront-Webdistribution findest du unter Wie richte ich API Gateway mit meiner eigenen CloudFront-Distribution ein?
Ähnliche Informationen
- Sprache
- Deutsch
