我认为我做的事情完全是错误的方式。
我有一个运行Nodejs的服务器,该服务器读入数据库并通过http本地表达一些数据(只能在本地访问)。它通过某些端口(例如8080)在localhost上发送数据。然后我在服务器上有一个角度应用程序,该应用程序从localhost:8080上的http请求获取这些数据并显示它们。 angular应用程序在本地主机上运行:localhost:4200。
我正在计算机上构建所有内容,并且运行良好(我对CORS没问题)。然后我将其部署在服务器上,并通过ssh端口转发对其进行了访问。基本上,我在本地计算机上通过localhost:8090在ssh上转发服务器上的localhost:4200。
我的问题是,当通过端口重定向在浏览器中加载并执行angular应用程序时,它正在对localhost:8080进行get请求。因此,它试图与运行它的本地主机(客户端本身)进行通信。
如果您了解我的意大利面情况,那么实际上有一个肮脏的解决方案:将服务器上的localhost:8080重定向到客户端上的localhost:8080。
有什么方法可以在服务器端而不是在客户端的浏览器中执行get请求服务器,以便localhost对应于服务器吗?有没有更好的方法可以做我想做的事?
我的总结是:如何使用angular app在服务器上的本地主机上访问另一个本地服务,因为它在客户端浏览器中执行,而本地主机将引用客户端本地主机。
答案 0 :(得分:0)
尝试在服务器中使用任何Web服务器(例如nginx或apache2等),并在节点应用程序中使用代理和反向代理,它将起作用