Reason: CORS header 'Access-Control-Allow-Origin' missing
Ursache
Reason: CORS header 'Access-Control-Allow-Origin' missing
Was ist schief gelaufen?
Die Antwort auf die CORS-Anfrage fehlt der erforderliche Access-Control-Allow-Origin
-Header, der verwendet wird, um festzustellen, ob auf die Ressource durch Inhalte zugegriffen werden kann, die innerhalb der aktuellen Herkunft arbeiten.
Wenn der Server unter Ihrer Kontrolle steht, fügen Sie die Herkunft der anfordernden Website der Menge der berechtigten Domains hinzu, indem Sie sie dem Wert des Access-Control-Allow-Origin
-Headers hinzufügen.
Beispielsweise, um einer Website unter https://example.com
den Zugriff auf die Ressource mittels CORS zu erlauben, sollte der Header folgendermaßen aussehen:
Access-Control-Allow-Origin: https://example.com
Sie können auch eine Website so konfigurieren, dass sie allen Websites den Zugriff erlaubt, indem Sie den *
-Platzhalter verwenden. Dies sollten Sie nur für öffentliche APIs verwenden. Private APIs sollten niemals *
verwenden und stattdessen einen bestimmten Domainnamen oder mehrere Domains festlegen. Außerdem funktioniert der Platzhalter nur für Anfragen, die mit dem crossorigin
-Attribut auf anonymous
gesetzt werden, und er verhindert das Senden von Anmeldeinformationen wie Cookies in Anfragen.
Access-Control-Allow-Origin: *
Warnung: Den Platzhalter zu verwenden, um allen Websites den Zugriff auf eine private API zu erlauben, ist eine schlechte Idee.
Um jeder Website zu ermöglichen, CORS-Anfragen ohne Verwendung des *
-Platzhalters zu stellen (zum Beispiel um Anmeldeinformationen zu ermöglichen), muss Ihr Server den Wert des Origin
-Headers der Anfrage lesen und diesen Wert verwenden, um Access-Control-Allow-Origin
zu setzen, und er muss auch einen Vary: Origin
-Header setzen, um anzuzeigen, dass einige Header dynamisch abhängig von der Herkunft gesetzt werden.
Beispiele für gängige Webserver
Die genaue Anweisung zum Setzen von Headers hängt von Ihrem Webserver ab.
In den folgenden Beispielen,
In Apache (Dokumentation), fügen Sie eine
Zeile wie die folgende zur Serverkonfiguration hinzu (innerhalb der entsprechenden <Directory>
, <Location>
, <Files>
oder <VirtualHost>
-Sektionen). Die
Konfiguration befindet sich normalerweise in einer .conf
-Datei (httpd.conf
und apache.conf
sind gängige Namen dafür) oder in einer .htaccess
-Datei:
Header set Access-Control-Allow-Origin 'https://example.com'
Für Nginx (Dokumentation), ist der Befehl zum Einrichten dieses Headers:
add_header 'Access-Control-Allow-Origin' 'https://example.com' always;
Siehe auch
- CORS-Fehler
- Glossar: CORS
- Einführung zu CORS