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

使用 API Gateway 控制台在资源上启用 CORS

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

重要

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

在 REST API 资源上启用 CORS 支持

  1. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  2. API 列表中选择 API。

  3. Resources (资源) 下选择一个资源。这将为资源上的所有方法启用 CORS。

    或者,您也可以在资源下选择一个方法,仅为此方法启用 CORS。

  4. 操作下拉菜单中选择 Enable CORS (启用 CORS)

    
                            选择“enable CORS (启用 CORS)”
  5. Enable CORS (启用 CORS) 表单中,执行以下操作:

    1. Access-Control-Allow-Headers 输入字段中,键入客户端必须在实际资源请求中提交的逗号分隔标头列表的静态字符串。使用控制台提供的 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token' 标头列表,或指定您自己的标头。

    2. 将控制台提供的 '*' 的值用作 Access-Control-Allow-Origin 标头值,以允许来自所有源的访问请求,或指定允许访问该资源的源。

    3. 选择 Enable CORS and replace existing CORS headers (启用 CORS 并替换现有 CORS 标头)

    
                            选择允许的标头
    重要

    如果在代理集成中将以上说明应用于 ANY 方法,那么将不会设置任何适用的 CORS 标头。相反,您的后端必须返回适用的 CORS 标头,例如 Access-Control-Allow-Origin

  6. Confirm method changes (确认方法更改) 中,选择 Yes, overwrite existing values (对,覆盖现有值) 以确认新的 CORS 设置。

    
                            确认覆盖现有值

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