【问题标题】:CORS on AWS Elastic beanstalkAWS 弹性豆茎上的 CORS
【发布时间】:2019-04-21 15:26:39
【问题描述】:

我是 AWS 新手并使用过

  • Elastic beanstalk 在节点中部署我的 REST API (api.example.com)
  • S3 存储桶cloudfront 用于我在 React 中的静态网站 (example.com)。


从网站调用 API 端点时,浏览器出现 CORS 错误。我该如何预防呢?

我在 CORS 的节点项目中使用以下代码

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*')
  res.header('Access-Control-Allow-Credentials', true)
  res.header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
  res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
  next();
});



编辑 - 基于 arudzinska 的评论

我也在bucket中配置了CORS

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
</CORSRule>
</CORSConfiguration>

并且服务器在 nginx


提前感谢您的帮助



P.S - 另外,我看到很少有帖子给出原因,因为项目代码中会有一些错误,但所有端点都在 POSTMAN 上正常工作。

【问题讨论】:

  • 您是否也在您的存储桶上配置了 CORS?
  • 是的,我在桶里做了,请查看更新后的问题
  • @Aman 找到解决方案了吗?
  • 请检查我的回答@ZeferiniX

标签: amazon-web-services nginx cors amazon-elastic-beanstalk


【解决方案1】:

我已将 AWS 中的 CORS 配置更新为并且可以正常工作

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://localhost:3000</AllowedOrigin>
    <AllowedOrigin>https://example.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

【讨论】:

  • 我遇到了同样的问题。我在哪里可以找到这个文件?
  • @RZKY 转到 S3 -> 您的存储桶 -> 权限 -> CORS 配置
  • 都不适合我,尝试添加配置并添加 app.use(cors())
猜你喜欢
  • 2014-12-22
  • 2018-02-25
  • 2017-09-01
  • 1970-01-01
  • 2016-01-13
  • 2015-04-02
  • 2013-05-25
  • 2015-03-12
  • 2015-03-20
相关资源
最近更新 更多