【发布时间】:2019-10-27 00:54:16
【问题描述】:
我认为我的做法完全错误。
我有一个运行在数据库中的 Nodejs 服务器,并在本地通过 http 提供一些数据(它只能在本地访问)。它通过某个端口(例如 8080)在 localhost 上发送数据。然后我在服务器上有一个角度应用程序,它从 localhost:8080 上的 http 请求获取这些数据并显示它们。 Angular 应用在 localhost:4200 本地运行。
我在我的计算机上构建了所有东西,并且运行良好(我对 CORS 没有任何问题)。然后我将它部署在服务器上,并通过 ssh 端口转发访问它。基本上我通过 ssh 在我的本地计算机上的 localhost:8090 上转发服务器上的 localhost:4200。
我的问题是,当通过端口重定向在我的浏览器中加载和执行 Angular 应用程序时,它正在向 localhost:8080 发出获取请求。所以它试图与运行它的本地主机通信,也就是客户端本身。
如果你理解我的意大利面情况,其实有一个肮脏的解决方案:将服务器上的 localhost:8080 重定向到客户端上的 localhost:8080。
有没有办法在服务器端而不是在客户端的浏览器中进行获取请求,以便 localhost 对应于服务器?有没有更好的方法来做我想做的事情?
我可以总结为:如何使用 Angular 应用程序访问服务器上 localhost 上的另一个本地服务,因为它在客户端浏览器中执行,并且 localhost 将引用客户端 localhost。
【问题讨论】: