我是 AWS 新手并且使用过
-
弹性豆茎在节点中部署我的其余 API (api.example.com)
- and S3桶 with 云前我在 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();
});
Edit- 基于 arudzinska 的评论
我还在存储桶中配置了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 https://www.getpostman.com/.
我已将 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)