【发布时间】:2021-10-27 18:21:43
【问题描述】:
目前我在 AWS EC2 实例中有两个容器。其中一个是 React 应用程序。它使用 nginx。这个应用程序应该向另一个容器内的 golang Web 服务发送请求。它们都在同一个 EC2 实例中。当我打开浏览器并转到 EC2 实例的公共 IP 地址时,我可以看到我的 React 应用程序正在运行。当我尝试向 golang Web 服务发送请求时,它说“(失败)net::ERR_CONNECTION_REFUSED”。我能够在 EC2 中使用 curl 请求并接收响应。我如何在 React Request 上做同样的事情。
这是我的 axios 帖子
axios.post('http://localhost:9234/todos', { "name": todo, "completed": false },).then((res) => {
console.log(res)
if (res.data.todo.name === todo) {
setTodos([...todos, todo]);
}
}).catch((err) => { console.log(err) });
这是我对 curl 的要求
curl -d '{"id":9,"name":"baeldung"}' -H 'Content-Type: application/json' http://localhost:9234/todos
【问题讨论】:
-
粘贴的代码是在服务器端还是在浏览器中运行?
-
容器是否运行在同一个 docker 网络上?
-
axios 发布请求来自 react 应用。当我点击一个按钮时,它正在投射。带有 curl 的请求在 EC2 实例中
-
容器在同一台机器上。但不同的容器。他们有不同的容器 ID
-
因此,如果正确解释您的答案,则反应应用程序正在浏览器中运行。这意味着 react 应用程序会尝试连接到正在运行浏览器的计算机上的端口 9234。
标签: reactjs docker go nginx amazon-ec2