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

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

您可以使用 API Gateway 控制台为已创建的 REST API 资源上的一个或所有方法启用 CORS 支持。启用 COR 支持后,将集成传递行为设置为 NEVER。在这种情况下,将拒绝未映射内容类型的方法请求,并返回“HTTP 415 不支持的媒体类型”响应。有关更多信息,请参阅 集成传递行为

重要

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

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

  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. 选择保存

    选择允许的标头
    重要

    如果在代理集成中将以上说明应用于 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