无法使用Lambda和API网关访问API

时间:2019-08-04 21:17:23

标签: node.js amazon-web-services aws-lambda aws-api-gateway

我有一个aws lambda函数,它返回以下响应:

@abc = split(".", $ARGV[0]);

foreach $a (@abc){
    if $a != [0 .. 256] {
        print "not an ip class"
    }
    else {
        print "it's an ip class"
    }
}

但是我的前端Angular应用程序中出现以下错误。

  

在以下位置访问XMLHttpRequest   来自的“ https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/price”   原产地“ http://127.0.0.1:8080”已被CORS政策阻止:   对预检请求的响应未通过访问控制检查:   没有HTTP正常状态。

2 个答案:

答案 0 :(得分:4)

这花了我一段时间,希望能对某人有所帮助。

我正在使用API​​网关HTTP API。

假设我在/POST products有一个端点。我必须在/OPTIONS products处添加另一个端点,并将其与简单的Lambda函数集成在一起,该函数仅返回200和"Access-Control-Allow-Origin": "*"标头。

即使从API Gateway和/POST products端点启用了CORS,也需要执行此操作。来自fetchXMLHttpRequest的预检请求调用/OPTIONS products

答案 1 :(得分:1)

您需要使用API​​网关在资源上启用CORS,请检查此链接以获取更多信息https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html