CORS-Fehler
Cross-Origin Resource Sharing (CORS) ist ein Standard, der es einem Server ermöglicht, die Same-Origin-Policy zu lockern. Dies wird verwendet, um einige Cross-Origin-Anfragen explizit zuzulassen, während andere abgelehnt werden. Wenn eine Website beispielsweise einen eingebetteten Dienst anbietet, kann es notwendig sein, bestimmte Beschränkungen zu lockern. Die Einrichtung einer solchen CORS-Konfiguration ist nicht unbedingt einfach und kann einige Herausforderungen mit sich bringen. Auf diesen Seiten werden wir einige häufige CORS-Fehlermeldungen und deren Lösung untersuchen.
Wenn die CORS-Konfiguration nicht korrekt eingerichtet ist, wird die Browser-Konsole einen Fehler wie "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [some site]" anzeigen, der darauf hinweist, dass die Anfrage aufgrund eines Verstoßes gegen die CORS-Sicherheitsregeln blockiert wurde. Dies muss jedoch nicht unbedingt ein Einrichtungsfehler sein. Es ist möglich, dass die Anfrage tatsächlich absichtlich von der Webanwendung des Benutzers und dem externen Remote-Dienst nicht erlaubt wird. Sollte der Endpunkt jedoch verfügbar sein, ist etwas Debugging erforderlich, um erfolgreich zu sein.
Erkennen eines CORS-Problems
Um das zugrunde liegende Problem mit der CORS-Konfiguration zu verstehen, müssen Sie herausfinden, welche Anfrage fehlerhaft ist und warum. Diese Schritte können Ihnen dabei helfen:
- Navigieren Sie zur betreffenden Website oder Web-App und öffnen Sie die Entwicklerwerkzeuge.
- Versuchen Sie nun, die fehlgeschlagene Transaktion zu reproduzieren und prüfen Sie die Konsole, ob eine CORS-Verletzungsfehlermeldung angezeigt wird. Sie wird wahrscheinlich so aussehen:

Der Text der Fehlermeldung wird in etwa so aussehen:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://some-url-here. (Reason: additional information here).
Hinweis: Aus Sicherheitsgründen sind spezifische Informationen darüber, was mit einer CORS-Anfrage schiefgelaufen ist, für JavaScript-Code nicht verfügbar. Der Code weiß nur, dass ein Fehler aufgetreten ist. Der einzige Weg, um festzustellen, was genau schiefgelaufen ist, besteht darin, die Konsole des Browsers auf Details zu überprüfen.
CORS-Fehlermeldungen
Die Konsole von Firefox zeigt Nachrichten in ihrer Konsole an, wenn Anfragen aufgrund von CORS fehlschlagen. Ein Teil des Fehlertxtes ist eine "Grund"-Nachricht, die zusätzlichen Einblick bietet, was schiefgelaufen ist. Die Grundnachrichten sind unten aufgeführt; klicken Sie auf die Nachricht, um einen Artikel zu öffnen, der den Fehler im Detail erklärt und mögliche Lösungen bietet.
- Grund: CORS deaktiviert
- Grund: CORS-Anfrage war nicht erfolgreich
- Grund: CORS-Header 'Origin' kann nicht hinzugefügt werden
- Grund: Externe Umleitung bei CORS-Anfrage nicht erlaubt
- Grund: CORS-Anfrage nicht http
- Grund: CORS-Header 'Access-Control-Allow-Origin' fehlt
- Grund: CORS-Header 'Access-Control-Allow-Origin' entspricht nicht 'xyz'
- Grund: Anmeldeinformationen werden nicht unterstützt, wenn der CORS-Header 'Access-Control-Allow-Origin' '*' ist
- Grund: Methode im CORS-Header 'Access-Control-Allow-Methods' nicht gefunden
- Grund: 'true' im CORS-Header 'Access-Control-Allow-Credentials' erwartet
- Grund: CORS-Preflight-Kanal war nicht erfolgreich
- Grund: ungültiges Token 'xyz' im CORS-Header 'Access-Control-Allow-Methods'
- Grund: ungültiges Token 'xyz' im CORS-Header 'Access-Control-Allow-Headers'
- Grund: fehlendes Token 'xyz' im CORS-Header 'Access-Control-Allow-Headers' vom CORS-Preflight-Kanal
- Grund: Mehrfacher CORS-Header 'Access-Control-Allow-Origin' nicht erlaubt