Я новичок в AWS и использовал
- Elastic beanstalk для развертывания моего API покоя (api.example.com) в узле
- и S3 bucket с cloudfront для моего статического веб-сайта (example.com) в React.
При вызове конечных точек 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();
});
Редактировать - на основе комментария Арудзинского
Я также настроил 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
Заранее спасибо за любую помощь
PS - также, я видел, что несколько постов дают причину, поскольку в коде проекта будет какая-то ошибка, но все конечные точки будут работать правильно на POSTMAN .