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

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

使用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. 選擇 Save (儲存)。

    選擇允許哪些標頭
    重要

    在代理整合中將上述說明套用至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' 標頭。

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

注意

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