CORS für HTTP-APIs in API Gateway konfigurieren - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CORS für HTTP-APIs in API Gateway konfigurieren

Cross-Origin Resource Sharing (CORS) ist eine Browser-Sicherheitsfunktion, die HTTP-Anfragen einschränkt, die von im Browser ausgeführten Skripts eingeleitet werden. Wenn Sie nicht auf Ihre API zugreifen können und eine Fehlermeldung erhalten, die Cross-Origin Request Blocked enthält, müssen Sie möglicherweise CORS aktivieren. Weitere Informationen finden Sie unter Was ist CORS? .

CORS ist in der Regel zum Erstellen von Webanwendungen erforderlich, die auf APIs zugreifen, die auf einer anderen Domäne oder einem anderen Ursprungsserver gehostet werden. Sie können CORS aktivieren, um Anfragen an Ihre API von einer Webanwendung zuzulassen, die auf einer anderen Domäne gehostet wird. Wenn Ihre API beispielsweise auf https://{api_id}.execute-api.{region}.amazonaws.com/ gehostet wird und Sie Ihre API über eine Webanwendung aufrufen möchten, die auf example.com gehostet wird, muss Ihre API CORS unterstützen.

Wenn Sie CORS für eine API konfigurieren, sendet API Gateway automatisch eine Antwort auf Preflight-OPTIONS-Anfragen, selbst wenn keine OPTIONS-Route für Ihre API konfiguriert ist. Bei einer CORS-Anfrage fügt API Gateway die konfigurierten CORS-Header zur Antwort einer Integration hinzu.

Anmerkung

Wenn Sie CORS für eine API konfigurieren, ignoriert API Gateway CORS-Header, die von Ihrer Backend-Integration zurückgegeben werden.

Sie können die folgenden Parameter in einer CORS-Konfiguration angeben. Um diese Parameter mithilfe der HTTP-API-Konsole des API Gateway hinzuzufügen, wählen Sie Add (Hinzufügen), nachdem Sie Ihren Wert eingegeben haben.

CORS-Header CORS-Konfigurationseigenschaft Beispielwerte

Access-Control-Allow-Origin

allowOrigins

  • https://www.example.com

  • * (alle Ursprünge zulassen)

  • https://* (einen beliebigen Ursprung zulassen, der mit https:// beginnt)

  • http://* (einen beliebigen Ursprung zulassen, der mit http:// beginnt)

Access-Control-Allow-Credentials

allowCredentials

true

Access-Control-Expose-Headers

exposeHeaders

Datum x-api-id, *

Access-Control-Max-Age

maxAge

300

Access-Control-Allow-Methods

allowMethods

GET, POST, DELETE, *

Access-Control-Allow-Headers

allowHeaders

Autorisierung, *

Um CORS-Header zurückzugeben, muss Ihre Anfrage einen origin-Header enthalten.

Ihre CORS-Konfiguration sieht möglicherweise wie folgt aus:

CORS-Konfiguration für HTTP-APIs

Konfiguration von CORS für eine HTTP-API mit einer $default Route und einem Authorizer

Sie können CORS aktivieren und die Autorisierung für jede Route einer HTTP-API konfigurieren. Wenn Sie CORS und die Autorisierung für die $default-Route aktivieren, gibt es einige besondere Überlegungen. Die $default-Route fängt Anforderungen für alle Methoden und Routen ab, die Sie nicht explizit definiert haben, einschließlich OPTIONS-Anforderungen. Fügen Sie Ihrer API zur Unterstützung von nicht autorisierten OPTIONS-Anforderungen eine OPTIONS /{proxy+}-Route hinzu, die keine Autorisierung erfordert. Die Route OPTIONS /{proxy+} hat eine höhere Priorität als die Route $default. Dadurch können Clients ohne Autorisierung OPTIONS-Anforderungen an Ihre API senden. Weitere Informationen zu Weiterleitungsprioritäten finden Sie unter Weiterleiten von API-Anforderungen.

Konfigurieren von CORS für eine HTTP-API mithilfe der AWS CLI

Sie können den folgenden update-api-Befehl verwenden, um CORS-Anfragen von zu aktivieren. https://www.example.com

aws apigatewayv2 update-api --api-id api-id --cors-configuration AllowOrigins="https://www.example.com"

Weitere Informationen finden Sie unter CORS in der API-Referenz für Amazon API Gateway Version 2.