对managedVM上的localhost节点服务器进行应用程序调用

问题描述 投票:0回答:1

我正在使用Nginx提供构建的反应文件。我可以在我的虚拟机IP地址上访问浏览器中的react应用程序。

我在我的VM上运行另一台服务器,端口8080,反应应用程序的API。

在我的反应中,我使用axios调用

const http = "http://localhost:8080";
..
axios.post(`${http}/api/auth/login`, { credentials }).then(res => res.data.user),

在我访问我的VM的IP地址后,在我的浏览器中,我可以在控制台中看到所谓的axios调用转到http://myActualVMIpAddress/api/..而不是我期望的localhost路径。

我已经使用api服务器的postman检查了路由。

我没有部署经验。如何使react应用程序和api服务器之间的链接工作?

reactjs deployment google-cloud-platform
1个回答
0
投票

将localhost:8080硬编码到客户端JS中并不是一个好主意,当用户加载客户端文件时,他们会尝试在用户计算机上发出请求,这是localhost解析的。

最简单的方法是从api服务器提供客户端文件。如果要将这些保持分离,则必须使用API​​服务器的IP(而不是localhost)并设置CORS。

© www.soinside.com 2019 - 2024. All rights reserved.