為 Endpoints 啟用 CORS 支援

CORS (跨來源資源共享) 是一種標準機制,可讓您在網頁中執行 XMLHttpRequest (XHR) 呼叫,以便與不同來源的資源進行互動。如果沒有 CORS,所有瀏覽器強制執行的同源政策都會禁止跨源要求。如需更多關於 CORS 的背景資訊,請參閱 Mozilla Developer Network (MDN) 參考說明文件

CORS 標準規定網路用戶端必須發出 CORS 預檢 OPTIONS,以判斷要求的網路伺服器是否支援 CORS。如果網路伺服器支援 CORS 要求,就會使用適當的 CORS 回應標頭處理 OPTIONS 要求。

在後端應用程式中處理 CORS

如果後端支援 CORS,您可以設定 ESP 或 ESPv2,將 CORS 要求傳遞至後端。您可以在 API 的 OpenAPI 規格中啟用傳遞功能,如下所示:

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

使用 ESP 或 ESPv2 處理 CORS

如果後端不支援 CORS,您可以指定 CORS 啟動標記,將 ESP 或 ESPv2 設為處理 CORS 要求。在這種做法中,CORS 預檢要求不會傳送至後端應用程式。此外,ESP 或 ESPv2 會在適當情況下,將已設定的 CORS 標頭附加至後端服務的回應。

下列 CORS 啟動選項適用於 ESP 和 ESPv2