Mithilfe des Standardmechanismus CORS (Cross-Origin Resource Sharing) können XMLHttpRequest-Aufrufe (XHR), die auf einer Webseite ausgeführt werden, mit Ressourcen unterschiedlicher Herkunft interagieren. Ohne CORS verhindert die Same-Origin-Richtlinie, die von allen Browsern durchgesetzt wird, Anfragen für Ressourcen unterschiedlicher Herkunft. Weitere Hintergrundinformationen zu CORS finden Sie in der Referenzdokumentation zu Mozilla Developer Network (MDN).
Der CORS-Standard erfordert, dass Webclients einen CORS-Preflight OPTIONS
ausführen, um festzustellen, ob der angeforderte Webserver CORS unterstützt. Wenn ein Webserver CORS-Anfragen unterstützt, wird die OPTIONS
-Anfrage mit den richtigen CORS-Antwortheadern verarbeitet.
CORS in Ihrer Back-End-Anwendung verarbeiten
Wenn Ihr Backend CORS unterstützt, können Sie ESP oder ESPv2 so konfigurieren, dass die CORS-Anfrage an das Backend übergeben wird. Aktivieren Sie die Passthrough-Funktion in der OpenAPI-Spezifikation für Ihre API wie unten gezeigt:
swagger: "2.0" host: "my-cool-api.endpoints.my-project-id.cloud.goog" x-google-endpoints: - name: "my-cool-api.endpoints.my-project-id.cloud.goog" allowCors: True
CORS mit ESP oder ESPv2 verarbeiten
Wenn Ihr Backend CORS nicht unterstützt, können Sie ESP oder ESPv2 zur Verarbeitung von CORS-Anfragen konfigurieren. Geben Sie dazu CORS-Start-up-Flags an. Bei diesem Ansatz werden CORS-Preflight-Anfragen nicht an die Backend-Anwendung weitergeleitet. Außerdem hängt ESP oder ESPv2 die konfigurierten CORS-Header an Antworten vom Backend-Dienst an, sofern zutreffend.
Die folgenden CORS-Start-up-Optionen sind für ESP und ESPv2 verfügbar