У меня есть экземпляр EC2 в частной подсети.
У меня есть приложение Java Spring-boot, развернутое с использованием nohup на нем через порт 8080
У меня есть еще одно интерфейсное приложение в AngularJSкоторый запускается с использованием grunt и pm2 на том же EC2 на порту 9000.
Приложение переднего плана связывается с сервером Java на localhost.
В коде переднего плана я использую $http
библиотека для вызова API Java следующим образом:
$http({
method: 'GET',
url: 'http://localhost:8080/myserv/getdata',
headers: {
'Content-Type': '*/*'
}
}).then(function (response) {
// processing data...
},
function (err) {
console.log('ERROR: ' + JSON.stringify(err));
});
Сам экземпляр EC2 находится в частной сети и предоставляется через ELB, который перенаправляет весь интернет-трафик на порт localhost 9000 на EC2.
Теперь, когда я открываю приложение через браузер, я вижу правильно пользовательский интерфейс, но в консоли разработчика выдает ошибку:
Failed to load resource: net::ERR_CONNECTION_REFUSED
Итак, я думаю, что она не можетвзаимодействовать с бэкэнд-API.
На EC2, когда я делаю скручивание на http://localhost:9000/home/
и на http://localhost:8080/myserv/getdata
, оба дают правильный ответ, поэтому оба приложения запускают файл, тогда почему нетпередний конецсвязаться с серверной частью?
Как это исправить?