Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Wie behebe ich CORS-Fehler von meiner API-Gateway-API aus?
Ich erhalte die Fehlermeldung „No 'Access-Control-Allow-Origin' header is present on the requested ressource“, wenn ich versuche, meine API bei Amazon API Gateway aufzurufen. Ich möchte diesen Fehler und andere CORS-Fehler von API Gateway aus beheben.
Kurzbeschreibung
CORS-Fehler (Cross-Origin Resource Sharing) treten auf, wenn ein Server die nach dem CORS-Standard erforderlichen HTTP-Header nicht zurückgibt. Um einen CORS-Fehler von einer API-Gateway-REST-API oder HTTP-API zu beheben, müssen Sie die API neu konfigurieren, sodass sie dem CORS-Standard entspricht.
Hinweis: Sie müssen CORS auf Ressourcenebene konfigurieren. Verwenden Sie API-Gateway-Konfigurationen oder Backend-Integrationen wie AWS Lambda.
Behebung
Zusätzlich zum CORS-Fehler No 'Access-Control-Allow-Origin' header present können Sie mit folgendem Verfahren auch alle anderen CORS-Fehler beheben. Andere CORS-Fehler sind zum Beispiel Method not supported under Access-Control-Allow-Methods header und No 'Access-Control-Allow-Headers' headers present.
Der Fehler No 'Access-Control-Allow-Origin' header present kann aus einem der folgenden Gründe auftreten:
- Die API ist nicht mit einer OPTIONS-Methode konfiguriert, die die erforderlichen CORS-Header zurückgibt.
- Es sind keine anderen Methodentypen wie GET, PUT oder POST so konfiguriert, dass sie die erforderlichen CORS-Header zurückgeben.
- Es ist keine API mit Proxy-Integration oder Nicht-Proxy-Integration so konfiguriert, dass sie die erforderlichen CORS-Header zurückgibt.
- Für private REST-APIs wird die falsche Aufruf-URL aufgerufen. Oder der Datenverkehr wird nicht an den VPC-Endpunkt (Virtual Private Cloud) der Schnittstelle weitergeleitet.
Bestätigen der Fehlerursache
Ergreifen Sie die folgenden Maßnahmen:
- Erstellen Sie eine HTTP Archive (HAR)-Datei, wenn Sie Ihre API aufrufen. Überprüfen Sie dann die Parameter-Header, die in der API-Antwort zurückgegeben werden, um die Ursache des Dateifehlers zu bestätigen.
- Verwenden Sie die Entwicklertools in Ihrem Browser, um die Anfrage- und Antwortparameter der fehlgeschlagenen API-Anfrage zu überprüfen.
Konfigurieren von CORS für die ausgefallene API-Ressource
Für REST-APIs
Folgen Sie den Anweisungen unter Turn on CORS on a resource using the API Gateway console.
Für HTTP-APIs
Folgen Sie den Anweisungen unter Configuring CORS for an HTTP API.
Wenn Sie CORS auf Ihrer API-Ressource konfigurieren, wählen Sie die folgenden Optionen aus:
Wählen Sie für Gateway-Antworten die Optionen DEFAULT 4XX und DEFAULT 5XX aus. Wenn Sie DEFAULT 4XX und DEFAULT 5XX auswählen, reagiert API Gateway mit den erforderlichen CORS-Headern, auch wenn eine Anfrage den Endpunkt nicht erreicht. Wenn eine Anfrage beispielsweise einen falschen Ressourcenpfad enthält, reagiert API-Gateway dennoch mit dem Fehler 403 "Missing Authentication Token".
Wenn nicht bereits OPTIONS für Access-Control-Allow-Methods ausgewählt ist, wählen Sie dies und alle anderen Methoden aus, die für CORS-Anfragen verfügbar sind, wie GET, PUT und POST. Die API-Gateway-Konsole konfiguriert die 200-Antwort der OPTIONS-Methode mit den erforderlichen Access-Control-Allow-Headern und überschreibt vorhandene Werte in der neu konfigurierten Ressource.
Konfigurieren Ihrer REST-API-Integrationen für das Zurückgeben der erforderlichen CORS-Header
Konfigurieren Sie die Lambda-Funktion in Ihrem Backend oder Ihren HTTP-Server so, dass die erforderlichen CORS-Header in der Antwort gesendet werden. Zulässige Domains müssen als Liste im Header-Wert Access-Control-Allow-Origin enthalten sein.
Für Proxy-Integrationen können Sie in API Gateway keine Integrationsantwort einrichten, um die vom Backend Ihrer API zurückgegebenen Antwortparameter zu ändern. Bei einer Proxy-Integration leitet API Gateway die Backend-Antwort direkt an den Client weiter.
Wenn Sie eine Nicht-Proxy-Integration verwenden, müssen Sie manuell eine Integrationsantwort in API Gateway einrichten, um die erforderlichen CORS-Header zurückzugeben. Verwenden Sie die API-Gateway-Konsole, um CORS zu konfigurieren, da die Konsole der konfigurierten Ressource automatisch die erforderlichen CORS-Header hinzufügt.
(Nur für private REST-APIs) Überprüfen der privaten DNS-Einstellung Ihres Schnittstellenendpunkts
Stellen Sie für private REST-APIs fest, ob privates DNS auf dem zugehörigen Schnittstellen-VPC-Endpunkt aktiviert ist.
Wenn privates DNS aktiviert ist
Verwenden Sie den privaten DNS-Namen, um Ihre private API aus Ihrer Amazon Virtual Private Cloud (Amazon VPC) heraus aufzurufen.
Wenn privates DNS nicht aktiviert ist
Sie müssen den Datenverkehr manuell von der Aufruf-URL zu den IP-Adressen des VPC-Endpunkts weiterleiten. Verwenden Sie die folgende Aufruf-URL (Route53-Alias):
https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}
Hinweis: Ersetzen Sie rest-api-id, region, vpce-id und stage durch Ihre API-Werte. Weitere Informationen finden Sie unter How to invoke a private API.
Wenn privates DNS nicht aktiviert ist, können Sie keine endpunktspezifischen öffentlichen DNS-Namen verwenden, um von Ihrer Amazon VPC aus auf Ihre private API zuzugreifen. Sie können die Option Host-Header nicht verwenden, da Anfragen von einem Browser keine Bearbeitung des Host-Headers zulassen.
Für private APIs können Sie den benutzerdefinierten Header x-apigw-api-id nicht verwenden, da er eine Preflight-OPTIONS-Anfrage initiiert, die den Header nicht enthält. API-Aufrufe, die den Header x-apigw-api-id verwenden, erreichen Ihre API nicht.
Hinweis: Stellen Sie sicher, dass die Autorisierung in der OPTIONS-Methode Ihrer API deaktiviert ist.
Verwandte Informationen
CORS für eine Ressource mithilfe der API Gateway Import API aktivieren

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 10 Monaten
- AWS OFFICIALAktualisiert vor 3 Jahren