使用 API Gateway 控制台对资源启用 CORS - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 API Gateway 控制台对资源启用 CORS

您可以使用 API Gateway 控制台为已创建的 REST API 资源上的一个或所有方法启用 CORS 支持。

重要

资源可以包含子资源。为某个资源及其方法启用 CORS 支持不会以递归方式为子资源及其方法启用它。

在 REST API 资源上启用 CORS 支持
  1. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

  2. 选择一个 API。

  3. 资源下选择一个资源。

  4. 资源详细信息部分,选择启用 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. 选择保存

    重要

    如果在代理集成中将以上说明应用于 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 以使新设置生效。有关更多信息,请参阅 从 API Gateway 控制台部署 REST API

注意

如果按照此过程操作后无法在资源上启用 CORS 支持,我们建议您将您的 CORS 配置与示例 API /pets 资源进行比较。要了解如何创建示例 API,请参阅教程:通过导入示例创建 REST API