簡體   English   中英

在 ECS fargate 中運行前端和后端服務

[英]Run front end and Backend services in ECS fargate

我有一個小型reactjs前端應用程序和一個python后端應用程序。

我想在ECS fargate 中運行這兩個服務。 所以我創建了一個task definition ,並將兩個容器都包含在同一個任務定義中。

並且通過reactjs應用程序正在使用axiospython后端交談(點擊),如下所示:

axio.get("http://127.0.0.1:8083/monitors").then(res => {
      this.setState({
        status: res.data
      });
    });

此設置在本地環境中運行良好。 但是由於現在我將其移至 Fargate,當我使用域訪問前端服務時,出現以下錯誤:

無法加載資源:net::ERR_CONNECTION_REFUSED 127.0.0.1:8083/monitors:1

那么,我該怎么做,如何訪問后端容器?

如果它們都是后端應用程序,您的設置將正常工作。 但是,ReactJS 應用程序實際上運行在用戶的 web 瀏覽器中。 Axios 需要在運行 web 瀏覽器的本地計算機和在 Fargate 上運行的后端服務之間建立網絡連接。 目前,因為您將其指向127.0.0.1 ,它正在嘗試查找在您的本地計算機上運行的不存在端口8083的服務。

您需要配置您的 Axios 應用程序以通過其公共 IP 地址或域訪問后端服務。 在這種情況下通常使用負載均衡器,然后您將 Axios 指向負載均衡器的域名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM