Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ Front Door Standard ✔️ Front Door Premium
CORS (Cross Origin Resource Sharing) ist eine HTTP-Funktion, die es einer Webanwendung, die unter einer Domäne läuft, ermöglicht, auf Ressourcen in einer anderen Domäne zuzugreifen. Um die Möglichkeit von Crosssite-Scripting-Angriffen zu verringern, implementieren alle modernen Webbrowser eine Sicherheitsbeschränkung, die als Same-Origin-Policy bekannt ist. Diese Einschränkung hindert eine Website daran, APIs in einer anderen Domäne aufzurufen. CORS bietet eine sichere Methode, um einem Ursprung (der Ursprungsdomäne) das Aufrufen von APIs in einem anderen Ursprung zu ermöglichen.
So funktioniert es
Es gibt zwei Arten von CORS-Anfragen: einfache Anfragen und komplexe Anfragen.
Für einfache Anforderungen gilt Folgendes:
Der Browser sendet die CORS-Anfrage mit einem weiteren Origin-HTTP-Anfrage-Header . Der Wert dieses Headers ist der Ursprung, der die Elternseite bedient hat, was als Kombination aus Protokoll,Domäne und Port definiert ist. Wenn eine Seite versucht
https://www.contoso.com, auf die Daten eines Benutzers im Ursprungfabrikam.comzuzugreifen, wird folgender Anforderungskopf gesendet anfabrikam.com:Origin: https://www.contoso.comDer Server könnte mit einer der folgenden Antworten antworten:
Mit einem Access-Control-Allow-Origin-Header in der Antwort, der angibt, welche Herkunft-Website zulässig ist. Beispiel:
Access-Control-Allow-Origin: https://www.contoso.comMit einem HTTP-Fehlercode (z. B. 403), falls der Server die ursprungsübergreifende Anforderung nach der Überprüfung des Origin-Headers nicht zulässt.
Ein Access-Control-Allow-Origin-Header mit einem Platzhalter, der alle Ursprünge erlaubt:
Access-Control-Allow-Origin: *
Für komplexe Anfragen
Eine komplexe Anfrage ist eine CORS-Anfrage, bei der der Browser eine Preflight-Anfrage (also eine vorläufige Probe) senden muss, bevor die eigentliche CORS-Anfrage gesendet wird. Die Preflight-Anfrage bittet den Server um die Erlaubnis, mit der ursprünglichen CORS-Anfrage fortzufahren. Es ist eine OPTIONS Anfrage an dieselbe URL.
Tip
Weitere Details zu CORS-Flows und häufigen Fallstroffen finden Sie im Leitfaden zu CORS für REST-APIs.
Platzhalter oder Szenarien mit nur einem Ursprung
CORS auf Azure Front Door funktioniert automatisch ohne zusätzliche Konfiguration, wenn der Access-Control-Allow-Origin-Header auf Wildcard (*) oder einen Single Origin gesetzt ist. Azure Front Door speichert die erste Antwort, und die folgenden Anfragen verwenden denselben Header.
Wenn du Anfragen an Azure Front Door schickst, bevor du CORS auf deinem Ursprung einstellst, musst du Inhalte auf deinem Endpunkt löschen, um den Inhalt mit dem Access-Control-Allow-Origin-Header neu zu laden.
Multiple-Origin-Szenarien
Wenn du eine spezifische Liste der Ursprungsgebiete für CORS erlauben musst, wird es etwas komplizierter. Das Problem tritt auf, wenn das CDN den Access-Control-Allow-Origin-Header für den ersten CORS-Ursprung zwischenspeichert. Wenn ein anderer CORS-Ursprung eine weitere Anfrage stellt, bedient das CDN den zwischengespeicherten Access-Control-Allow-Origin-Header , der nicht übereinstimmt. Mehrere Methoden können dieses Problem beheben.
Azure Front Door rule set
Bei Azure Front Door kannst du eine Regel im Azure Front Door Rules Set erstellen, um den Origin-Header auf der Anfrage zu überprüfen. Wenn es ein gültiger Ursprung ist, setzt deine Regel den Header Access-Control-Allow-Origin mit dem richtigen Wert. In diesem Fall wird der Access-Control-Allow-Origin-Header vom Ursprungsserver der Datei ignoriert und die Azure Front Door-Regel-Engine verwaltet die erlaubten CORS-Ursprünge vollständig.
Tip
Sie können weitere Aktionen zu Ihrer Regel hinzufügen, um andere Antwortheader zu ändern, wie zum Beispiel Access-Control-Allow-Methods.