【发布时间】:2020-09-26 14:18:45
【问题描述】:
我有一个具有React 前端和Python Flask 后端的应用程序。前端与服务器通信以执行特定操作,服务器 api 应仅供客户端使用。
我已将整个应用程序(客户端和服务器)部署到 Ubuntu 虚拟机。该机器仅具有向公众开放的特定端口(5000、443、22)。我已经设置了Nginx 配置,并且可以通过http://<ip:address>:5000 从我的浏览器访问前端。服务器在不同的端口 4000 上本地运行,按照设计,公众无法访问该端口。
问题是当我访问客户端应用程序并从 react 应用程序导航到通过 http://127.0.0.1:4000 与服务器通信的页面时,我收到一条错误消息,提示连接被拒绝。
GET http://127.0.0.1:4000/ net::ERR_CONNECTION_REFUSED 在我的浏览器上。
当我 ssh 进入 vm 并通过 curl curl http://127.0.0.1:4000/ 运行相同的命令时,我得到了响应并且一切正常。
有没有一种方法可以将服务器部署在同一个虚拟机中,这样当我从浏览器访问客户端 React App 时,React App 可以毫无问题地访问服务器?
【问题讨论】:
标签: reactjs ubuntu nginx web-applications client-server