在ECS fargate中运行前端和后端服务

2024-10-02 20:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小型的reactjs前端应用程序和一个python后端应用程序

我想在ECSfargate中运行这两个服务。因此,我创建了一个task definition,并将这两个容器都包含在同一个任务定义中

通过reactjs,应用程序正在使用axiospython后端进行对话(点击),如下所示:

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

那么,我如何才能做到这一点,我如何才能访问后端容器


Tags: 应用程序httptaskget定义res对话容器
1条回答
网友
1楼 · 发布于 2024-10-02 20:33:47

如果这两个都是后端应用程序,则安装程序将正常工作。但是,ReactJS应用程序实际上是在用户的web浏览器中运行的。Axios需要在运行web浏览器的本地计算机和Fargate上运行的后端服务之间建立网络连接。目前,因为它指向127.0.0.1,所以它试图查找在本地计算机上运行的8083端口上不存在的服务

您需要将Axios应用程序配置为通过其公共IP地址或域访问后端服务。此场景中通常使用负载平衡器,然后将Axios指向负载平衡器的域名

相关问题 更多 >