

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

# 使用 API Gateway 主控台在資源上啟用 CORS
<a name="how-to-cors-console"></a>

您可以使用 API Gateway 主控台，為您已建立的 REST API 資源上的一個或所有方法啟用 CORS 支援。啟用 COR 支援後，將整合傳遞行為設定為 `NEVER`。在此案例中，未映射內容類型的方法請求會遭到拒絕，並顯示 HTTP 415 Unsupported Media Type (不支援的媒體類型) 回應。如需詳細資訊，請參閱[API Gateway 中 REST API 沒有映射範本時，承載的方法請求行為](integration-passthrough-behaviors.md)

**重要**  
資源可以包含子資源。對資源及其方法啟用 CORS 支援並不會對子資源及其方法遞迴啟用此支援。

**若要在 REST API 資源上啟用 CORS 支援**

1. 在以下網址登入 API Gateway 主控台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。

1. 選擇一個 API。

1. 在**資源**下，選擇一個資源。

1. 在**資源詳細資訊**區段中，選擇**啟用 CORS**。

      
![\[在資源窗格中，選擇啟用 CORS。\]](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/amazon-api-gateway-new-console-enable-cors.png)

1.  在**啟用 CORS** 方塊中，執行下列操作：

   1. (選用) 如果您已建立自訂閘道回應，並且想要針對回應啟用 CORS 支援，請選取閘道回應。

   1. 選取每一種方法以啟用 CORS 支援。`OPTION` 方法必須啟用 CORS。

      如果您為 `ANY` 方法啟用 CORS 支援，則所有方法的 CORS 都會啟用。

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

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

   1. 選擇**儲存**。  
![\[選擇允許哪些標頭\]](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/amazon-api-gateway-new-console-enable-cors-resources.png)
**重要**  
 將上述說明應用在代理整合中的 `ANY` 方法時，不會設定任何適用的 CORS 標頭。反之，您的後端必須傳回適當的 CORS 標頭，例如 `Access-Control-Allow-Origin`。

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

在您的資源上啟用 CORS 支援之後，您必須部署或重新部署 API，新的設定才能生效。如需詳細資訊，請參閱[建立部署](set-up-deployments.md#create-deployment)。

**注意**  
如果您在遵循程序後無法在資源上啟用 CORS 支援，建議您比較 CORS 組態與範例 API `/pets` 資源。若要了解如何建立範例 API，請參閱 [教學課程：匯入範例來建立 REST API](api-gateway-create-api-from-example.md)。