如何Dockerise前端应用程序与已经Dockerise的api应用程序进行通信



目前,我正在开发一个应用程序,该应用程序使用完全停靠的Node API服务(由Docker Nginx本地提供服务(和一个简单的React前端,该前端使用PHP代客本地提供服务。

运行docker-compose up,在端口80上构建成功托管在Nginx上的码头化应用程序,代理将请求传递到端口9999上的节点API。

我遇到的问题是让react前端与停靠节点API进行通信。

理想情况下,我愿意;将dockerized Node api服务移动到PHP代客服务,或者将前端Web应用程序也移动到docker nginx服务服务

如何将前端和后端服务完全固定在一起,以便它们可以相互通信(理想情况下都托管在端口80上(,或者建议如何将Valet或MAMP与容器化节点API一起使用。

如何将前端和后端服务完全固定在一起,以便它们可以相互通信(理想情况下都托管在端口80上(,或者建议如何将Valet或MAMP与容器化节点API一起使用。

无论是否使用Docker,对于到后端的前端请求(XMLHttpRequest和其他一些请求(,您都将面临同源策略,因为如果协议、端口和主机相同,则两个URL具有相同的来源。

如果这两个应用程序是容器,主机的设计会有所不同,因为它们将是两个不同的容器。如果你把前端应用程序放在主机上,情况也是如此。

因此,在任何情况下,您都应该在后端(NodeJS(至少为前端主机的请求启用CORS。从前端来看,不需要任何东西,因为CORS是一种浏览器:它向目标主机发送飞行前请求,以获得资源共享协议。

关于使前端成为Docker容器,我认为,如果前端被设计为与Node后端一起工作,那么您可能也应该使其成为Docker镜像/容器,并使用docker-compose来管理它们:这将使它们更易于管理/维护。

构建静态HTML的前端,并从静态目录的后端为其提供服务。

React前端加载在用户的机器上,并在浏览器中执行。它通过HTTP(S(与服务器通信。

您现在如何使用React应用程序?React应用程序只是通过HTTP提供的纯文本文件。

最新更新