使用API閘道主控台CORS在資源上啟用 - Amazon API 网关

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用API閘道主控台CORS在資源上啟用

您可以使用 API Gateway 主控台,在您建立的RESTAPI資源上啟用一種或所有方法的CORS支援。啟用COR支援後,請將整合傳遞行為設定為NEVER。在這種情況下,未映射內容類型的方法請求將被拒絕 HTTP 415 不支持的媒體類型響應。如需更多資訊,請參閱整合傳遞行為

重要

資源可以包含子資源。啟用對資源及其方法的CORS支援不會遞迴啟用子資源及其方法。

若要啟用RESTAPI資源CORS支援
  1. 請在 https://console.aws.amazon.com/apigateway 登入API閘道主控台。

  2. 選擇一個 API。

  3. 資源下,選擇一個資源。

  4. 在「資源詳細資訊」段落中,選擇啟用CORS

    在 [資源] 窗格中,選擇 [啟用] CORS。
  5. 在 CORS [用] 方塊中,執行下列動作:

    1. (選擇性) 如果您已建立自訂閘道回應,且想要啟用回應的CORS支援,請選取閘道回應。

    2. 選取每個方法以啟用CORS支援。該OPTION方法必須已CORS啟用。

      如果您啟用對某個ANY方法的CORS支援,CORS則會為所有方法啟用。

    3. Access-Control-Allow-Headers 輸入欄位中,輸入逗號分隔標頭清單的靜態字串,用戶端必須在資源的實際請求中提交這些標頭。使用主控台提供的 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token' 標頭清單,或指定您自己的標頭。

    4. 使用主控台提供的 '*'值,做為 Access-Control-Allow-Origin 標頭值,以允許所有來源中的存取請求,或指定允許其存取資源的來源。

    5. 選擇儲存

    選擇允許哪些標頭
    重要

    將上述指示套用至 Proxy 整合中的ANY方法時,不會設定任何適用的CORS標頭。相反,您的後端必須返回適用的CORS標題,例如Access-Control-Allow-Origin.

GET方法上啟用之後CORS,如果該OPTIONS方法尚未存在,則會將其添加到資源中。OPTIONS 方法的 200 回應會自動設定為傳回三個 Access-Control-Allow-* 標頭,來完成預檢交握。此外,根據預設也會設定實際 (GET) 方法,以在其 200 回應中傳回 Access-Control-Allow-Origin 標頭。對於其他類型的回應,如果您不想要傳回 Cross-origin access 錯誤,則需要使用 '*' 或特定來源手動進行設定,以傳回 Access-Control-Allow-Origin' 標頭。

在您API對資源啟用CORS支援之後,您必須部署或重新部署,新設定才會生效。如需詳細資訊,請參閱 建立部署

注意

如果您在執行程序後無法啟用資源的CORS支援,建議您將CORS組態與範例API/pets資源進行比較。若要瞭解如何建立範例API,請參閱教學課程:匯入範例來建立 REST API