我有一个小型的reactjs
前端应用程序和一个python
后端应用程序
我想在ECS
fargate中运行这两个服务。因此,我创建了一个task definition
,并将这两个容器都包含在同一个任务定义中
通过reactjs
,应用程序正在使用axios
与python
后端进行对话(点击),如下所示:
axio.get("http://127.0.0.1:8083/monitors").then(res => {
this.setState({
status: res.data
});
});
此设置在本地环境中运行良好。但现在我将其移动到fargate,当我使用域访问前端服务时,我得到以下错误:
Failed to load resource: net::ERR_CONNECTION_REFUSED 127.0.0.1:8083/monitors:1
那么,我如何才能做到这一点,我如何才能访问后端容器
如果这两个都是后端应用程序,则安装程序将正常工作。但是,ReactJS应用程序实际上是在用户的web浏览器中运行的。Axios需要在运行web浏览器的本地计算机和Fargate上运行的后端服务之间建立网络连接。目前,因为它指向
127.0.0.1
,所以它试图查找在本地计算机上运行的8083
端口上不存在的服务您需要将Axios应用程序配置为通过其公共IP地址或域访问后端服务。此场景中通常使用负载平衡器,然后将Axios指向负载平衡器的域名
相关问题 更多 >
编程相关推荐