Невозможно вызвать частный адрес с помощью Publi c Address (AWS EC2) - PullRequest
0 голосов
/ 12 июля 2020

У меня есть 2 экземпляра Ec2 (Publi c и частный)

В Publi c: я разместил angular сайт через xampp

В частном порядке: я разместил сервер Node ( порт 3000)

В angular Я использовал (http://10.0.1.68: 3000 ) для вызова API. Когда я открываю Chrome Браузер в Publi c Ec2, тогда angular сайт работает нормально. например localhost / home. Затем он вызывает частный сервер (http://10.0.1.68: 3000 ) и получает данные из базы данных.

Но когда я использую Publi c Address (37.22.XXX.XX), тогда Angular дизайн загружается в моем браузере, но он не вызывает API узла с помощью http://10.0.1.68: 3000 Любая идея ????

1 Ответ

0 голосов
/ 12 июля 2020

Поскольку вызов Node API (10.0.1.68:3000) выполняется на стороне клиента (на основе комментариев), он завершится ошибкой.

Причина в том, что Узловой сервер размещен в частном su bnet VP C. Поскольку он частный, к нему нельзя получить доступ из inte rnet.

Он работает из экземпляра EC2, поскольку экземпляр ec2 находится в том же VP C.

Простейшим решением было бы разместить API узла в publi c su bnet, так как для его вызова требуется доступ inte rnet. Альтернативный способ предполагает настройку прокси-сервера в publi c su bnet для прокси-вызовов api из inte rnet в частный su bnet. API-шлюз также может быть настроен. Таким образом, ваш интерфейс будет вызывать конечные точки API для бегства, которые, в свою очередь, будут вызывать ваш частный API-интерфейс Node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...