使用AWS API Gateway和CloudFront时,如何避免同源策略异常

时间:2017-10-19 22:13:46

标签: amazon-cloudfront aws-api-gateway api-gateway

我有一个SPA(由CloundFront提供),它调用我在APIGateway上设置的GET端点。 spa的域与API Gateway的域不同。当我的SPA试图对资源进行GET时,我得到的是同源策略例外,如下所示

 "No Access-Control-Allow-Origin header is present on requested resource"

这是我在API网关上的设置。我有一个Options资源,它返回以下

Access-Control-Allow-Methods: 'GET, OPTIONS'
Access-Control-Allow-Headers: 'Content-Type,X-Api-Key,X-Requested-With'
Access-Control-Origin: '*'

我有一个获取资源,后者又调用我的后端服务(代理我的服务)。我已设置资源以将这些标头作为响应的一部分返回

Access-Control-Allow-Headers
Access-Control-Allow-Methods
Access-Control-Allow-Origin

浏览器的选项调用返回200,包含所有必需的访问控制资料。但是当浏览器进行GET调用时,我得到了相同的原始策略异常。有什么想法在这里发生?是因为我的GET响应没有明确设置Access-Control-Origin的值吗?

由于 凯

1 个答案:

答案 0 :(得分:0)

  

我有一个Options资源,它返回以下内容

您需要的标题是Access-Control- 允许 -Origin:'*'。

但是,是的,你确实需要退货,因为一个简单的GET不会在飞行前OPTIONS *