从 AWS API 网关请求的资源上不存在“Access-Control-Allow-Origin”标头 [重复]

Posted

技术标签:

【中文标题】从 AWS API 网关请求的资源上不存在“Access-Control-Allow-Origin”标头 [重复]【英文标题】:No 'Access-Control-Allow-Origin' header is present on the requested resource from an AWS API Gateway [duplicate] 【发布时间】:2021-01-13 04:45:31 【问题描述】:

我使用 AWS API Gateway 创建了一个 API,它在 PostgreSQL RDS 上触发 Lambda 函数。当我从 Angular 应用程序调用 API 时,出现以下错误。

Access to XMLHttpRequest at 'URL' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

如何从 API 网关端解决这个问题?

【问题讨论】:

【参考方案1】:

这是因为您没有为 API 网关启用 CORS。 CORS 是一种浏览器安全功能,如果网站调用其他域,它将产生警告。您需要告诉您的 API 返回 CORS 标头,以便您的 API 可以告诉您的浏览器,其他域(即 localhost)正在调用它是可以的。

以下是一些希望对您有所帮助的链接:

https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors-console.html

【讨论】:

以上是关于从 AWS API 网关请求的资源上不存在“Access-Control-Allow-Origin”标头 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

请求的资源(AWS、API Gateway、S3、CORS)上不存在“Access-Control-Allow-Origin”标头

从 Amazon AWS s3 存储桶错误获取 Html5:请求的资源上不存在“Access-Control-Allow-Origin”标头

如何允许API网关代理与POST请求的Cognito Authorizer集成?

AWS - 对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

aws-sdk 无法创建存储桶 请求的资源上不存在“Access-Control-Allow-Origin”标头

尝试从 REST API 获取数据时,请求的资源上不存在“Access-Control-Allow-Origin”标头