Angular и Node работают с инстансами Amazon EC-2. Angular в порте 4200 и Node в 3000. Когда я пытаюсь что-либо сделать с Angular для соединения с Node, выдает ошибку CORS. Кто-нибудь, почему и как разобраться?
Ваша ставка BEST состоит в том, чтобы запустить ng build (или эквивалент) и обслуживать ваше приложение Angular непосредственно с веб-сервера NodeJS.
ng build
Ваша альтернатива - настроить приложение Angular (похоже, вы используете сервер WebPack, используемый Angilar CLI, т.е. ng serve) для использования прокси : ng serve --proxy-config proxy.conf.json.
ng serve
ng serve --proxy-config proxy.conf.json
Вот несколько ссылок о том, как это сделать:
angular-cli server - как передавать запросы API-прокси на другой сервер?
https://medium.com/@spencerfeng/setup-a-proxy-for-api-calls-for-your-angular-cli-app-6566c02a8c4d
Еще одна альтернатива (которую можно использовать в сочетании с вышеизложенным) заключается в настройке CORS:
CORS в Express с использованием TypeScript
Если вы сделаете это, вам также необходимо добавить заголовок CORS «Allow Origin» в ваше приложение Angular:
`'Access-Control-Allow-Origin':'*',`