Проект в корзине S3 не подключается к серверу узла в экземпляре EC2 - PullRequest
0 голосов
/ 30 ноября 2018

AWS новичок здесь.У меня есть веб-приложение, в котором пакет Angular dist размещен в корзине S3, а серверная часть обслуживается в экземпляре EC2.Я следовал этому учебнику , но после завершения мой проект в корзине S3 все еще не подключается к моему серверу удаленного узла.

Из этого учебного пособия я понял, что при настройкедистрибутив CloudFront, он соединит корзину S3 с экземпляром EC2.Но если я перехожу к домену CloudFront, он загружает содержимое корзины S3, но все равно не подключается к моему серверу узлов.

Когда я запускаю сервер узлов локально, он успешно подключается, и я могу читать инаписать в мою удаленную базу данных Mongo.Это указывает на то, что:

1) подключение к удаленному MongoDB успешно и

2) внешний интерфейс (в сегменте S3) ищет сервер локального узла вместо удаленногоодин (в корзине EC2).

Итак, мой вопрос: как мне сделать так, чтобы мои службы вместо этого выполняли вызовы на удаленный сервер?

1 Ответ

0 голосов
/ 30 ноября 2018

Во-первых, S3 содержит только статический контент.Таким образом, все ваши файлы Angular dist будут находиться на S3.S3 не подключается к вашему бэкэнду.Ваш браузер попытается выполнить AJAX-вызовы покоя для вашего Node-сервера.

Во-вторых, ваш внутренний сервер Node должен предоставить свои службы Rest через шлюз API.Вот рекомендуемый подход.Кажется, если ваше приложение пытается подключиться локально из-за ошибки конфигурации.Вам необходимо использовать ссылку на API-шлюз в вашем приложении Angular.

Для быстрого тестирования вы можете выставить порт в группе безопасности вашего EC2 и использовать публичный IP-адрес вашего EC2 для доступа к приложению узла, прежде чем идтио настройке шлюза API.

enter image description here

...