Я успешно развернул свое приложение API Express на AWS elasti c beanstalk. У меня есть интерфейс React, который размещен на S3.
Оба находятся в одном домене, а интерфейс находится на example.com и API на api.example.com Оба имеют сертификаты и защищены.
const express = require('express');
const cors = require('cors')({
Origin: 'https://example.com'
});
// followed by required middleware
app.use(cors());
//followed by app constants
app.use((e, req, res, next) => {
res.header("Access-Control-Allow-Origin", "https://example.com");
res.header('Access-Control-Allow-Methods', 'DELETE, PUT, GET, POST');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
if (e) {
console.log(e);
res.status(500).send(e.message);
}
next();
})
// followed by app routes
Когда я пытаюсь зарегистрировать пользователя на своем сайте, я получаю сообщение об ошибке:
Access to XMLHttpRequest at 'https://api.example.com/users/signup/' from origin 'https://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Эта топика c, конечно, была покрыта несколько раз время переполнения стека (которое я рассмотрел сегодня несколькими решениями), но мой вопрос касается реального сервера, на котором размещается API.
В размещенной зоне для api.example.com TTL составляет 172800 (48 часов). Означает ли это, что мои изменения не будут отражены в это время? Если это так, значит ли это, что каждый раз, когда вы развертываете код, он сбрасывает TTL?
Я разработчик внешнего интерфейса, работающий над сторонним проектом, так что это действительно не моя область знаний. Любые DevOps или BackEnd Devs есть идеи? Заранее спасибо!