使用 API Gateway 控制台对资源启用 CORS
您可以使用 API Gateway 控制台为已创建的 REST API 资源上的一个或所有方法启用 CORS 支持。启用 COR 支持后,将集成传递行为设置为 NEVER
。在这种情况下,将拒绝未映射内容类型的方法请求,并返回“HTTP 415 不支持的媒体类型”响应。有关更多信息,请参阅 集成传递行为
重要
资源可以包含子资源。为某个资源及其方法启用 CORS 支持不会以递归方式为子资源及其方法启用它。
在 REST API 资源上启用 CORS 支持
通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway
。 -
选择一个 API。
-
在资源下选择一个资源。
-
在资源详细信息部分,选择启用 CORS。
-
在启用 CORS 框中,执行以下操作:
-
(可选)如果您创建了自定义网关响应并希望为响应启用 CORS 支持,请选择一种网关响应。
-
选择各方法以启用 CORS 支持。
OPTION
方法必须启用 CORS。如果您为某个
ANY
方法启用 CORS 支持,则会为所有方法启用 CORS。 -
在 Access-Control-Allow-Headers 输入字段中,输入静态字符串,该字符串是客户端必须在实际资源请求中提交的标头列表,以逗号分隔。使用控制台提供的
'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'
标头列表,或指定您自己的标头。 -
将控制台提供的值
'*'
用作 Access-Control-Allow-Origin 标头值,以支持来自所有源的访问请求,或指定可以访问该资源的源。 -
选择保存。
重要
如果在代理集成中将以上说明应用于
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。