【发布时间】:2019-02-13 07:31:13
【问题描述】:
我在私有子网上有一个 EC2 实例。
我在端口 8080 上使用 nohup 部署了一个 Java Spring-boot 应用程序
我在 AngularJS 中有另一个前端应用程序,它使用 grunt 和 pm2 在端口 9000 上的同一 EC2 上运行。
前端应用程序与本地主机上的 java 后端通信。
在前端代码中,我使用$http 库来调用java API,如下所示:
$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 公开,该 ELB 将所有互联网流量重定向到 EC2 上的 localhost 端口 9000。
现在,当我通过浏览器打开应用程序时,我可以正确看到 UI,但在开发控制台中,我给出了错误:
Failed to load resource: net::ERR_CONNECTION_REFUSED
所以,我认为它无法与后端 API 通信。
在EC2上,当我在http://localhost:9000/home/和http://localhost:8080/myserv/getdata上进行curl时,都给出了正确的响应,所以两个应用程序都在运行文件,那么为什么前端不能与后端通信结束了吗?
我该如何解决这个问题?
【问题讨论】:
标签: java angularjs amazon-web-services spring-boot amazon-ec2